1 <html><head><title>../roojs1/Roo/form/HtmlEditor/ToolbarContext.js</title><link rel="stylesheet" type="text/css" href="../../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">// <script type="text/javascript">
5 * Copyright(c) 2006-2007, Ext JS, LLC.
12 * @class Roo.form.HtmlEditor.ToolbarContext
17 new Roo.form.HtmlEditor({
20 { xtype: 'ToolbarStandard', styles : {} }
21 { xtype: 'ToolbarContext', disable : {} }
27 * @config : {Object} disable List of elements to disable.. (not done yet.)
28 * @config : {Object} styles Map of styles available.
32 </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">)
35 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
36 </span><span class="jsdoc-comment">//Roo.form.HtmlEditorToolbar1.superclass.constructor.call(this, editor.wrap.dom.firstChild, [], config);
37 // dont call parent... till later.
38 </span><span class="jsdoc-var">this.styles </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.styles </span><span class="jsdoc-syntax">|| {};
43 </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext.types </span><span class="jsdoc-syntax">= {
44 </span><span class="jsdoc-string">'IMG' </span><span class="jsdoc-syntax">: {
45 </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
46 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Width"</span><span class="jsdoc-syntax">,
47 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
49 </span><span class="jsdoc-var">height</span><span class="jsdoc-syntax">: {
50 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Height"</span><span class="jsdoc-syntax">,
51 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
53 </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: {
54 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Align"</span><span class="jsdoc-syntax">,
55 </span><span class="jsdoc-var">opts </span><span class="jsdoc-syntax">: [ [</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"left"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"right"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"center"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"top"</span><span class="jsdoc-syntax">]],
56 </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: 80
59 </span><span class="jsdoc-var">border</span><span class="jsdoc-syntax">: {
60 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Border"</span><span class="jsdoc-syntax">,
61 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
63 </span><span class="jsdoc-var">alt</span><span class="jsdoc-syntax">: {
64 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Alt"</span><span class="jsdoc-syntax">,
65 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
67 </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">: {
68 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Src"</span><span class="jsdoc-syntax">,
69 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 220
73 </span><span class="jsdoc-string">'A' </span><span class="jsdoc-syntax">: {
74 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
75 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Name"</span><span class="jsdoc-syntax">,
76 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 50
78 </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">: {
79 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Target"</span><span class="jsdoc-syntax">,
80 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
82 </span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">: {
83 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Href"</span><span class="jsdoc-syntax">,
84 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 220
85 } </span><span class="jsdoc-comment">// border?
87 </span><span class="jsdoc-syntax">},
88 </span><span class="jsdoc-string">'TABLE' </span><span class="jsdoc-syntax">: {
89 </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">: {
90 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Rows"</span><span class="jsdoc-syntax">,
91 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
93 </span><span class="jsdoc-var">cols </span><span class="jsdoc-syntax">: {
94 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Cols"</span><span class="jsdoc-syntax">,
95 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
97 </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
98 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Width"</span><span class="jsdoc-syntax">,
99 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
101 </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">: {
102 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Height"</span><span class="jsdoc-syntax">,
103 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
105 </span><span class="jsdoc-var">border </span><span class="jsdoc-syntax">: {
106 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Border"</span><span class="jsdoc-syntax">,
107 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
110 </span><span class="jsdoc-string">'TD' </span><span class="jsdoc-syntax">: {
111 </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
112 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Width"</span><span class="jsdoc-syntax">,
113 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
115 </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">: {
116 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Height"</span><span class="jsdoc-syntax">,
117 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
119 </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: {
120 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Align"</span><span class="jsdoc-syntax">,
121 </span><span class="jsdoc-var">opts </span><span class="jsdoc-syntax">: [[</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"left"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"center"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"right"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"justify"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"char"</span><span class="jsdoc-syntax">]],
122 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 80
124 </span><span class="jsdoc-var">valign</span><span class="jsdoc-syntax">: {
125 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Valign"</span><span class="jsdoc-syntax">,
126 </span><span class="jsdoc-var">opts </span><span class="jsdoc-syntax">: [[</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"top"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"middle"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"bottom"</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">"baseline"</span><span class="jsdoc-syntax">]],
127 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 80
129 </span><span class="jsdoc-var">colspan</span><span class="jsdoc-syntax">: {
130 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Colspan"</span><span class="jsdoc-syntax">,
131 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
134 </span><span class="jsdoc-string">'font-family' </span><span class="jsdoc-syntax">: {
135 </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Font"</span><span class="jsdoc-syntax">,
136 </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fontFamily'</span><span class="jsdoc-syntax">,
137 </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'display'</span><span class="jsdoc-syntax">,
138 </span><span class="jsdoc-var">optname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'font-family'</span><span class="jsdoc-syntax">,
139 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 140
142 </span><span class="jsdoc-string">'INPUT' </span><span class="jsdoc-syntax">: {
143 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
144 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"name"</span><span class="jsdoc-syntax">,
145 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
147 </span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">: {
148 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Value"</span><span class="jsdoc-syntax">,
149 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
151 </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
152 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Width"</span><span class="jsdoc-syntax">,
153 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
156 </span><span class="jsdoc-string">'LABEL' </span><span class="jsdoc-syntax">: {
157 </span><span class="jsdoc-string">'for' </span><span class="jsdoc-syntax">: {
158 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"For"</span><span class="jsdoc-syntax">,
159 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
162 </span><span class="jsdoc-string">'TEXTAREA' </span><span class="jsdoc-syntax">: {
163 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
164 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"name"</span><span class="jsdoc-syntax">,
165 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
167 </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">: {
168 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Rows"</span><span class="jsdoc-syntax">,
169 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
171 </span><span class="jsdoc-var">cols </span><span class="jsdoc-syntax">: {
172 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Cols"</span><span class="jsdoc-syntax">,
173 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
176 </span><span class="jsdoc-string">'SELECT' </span><span class="jsdoc-syntax">: {
177 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
178 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"name"</span><span class="jsdoc-syntax">,
179 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
181 </span><span class="jsdoc-var">selectoptions </span><span class="jsdoc-syntax">: {
182 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Options"</span><span class="jsdoc-syntax">,
183 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 200
187 </span><span class="jsdoc-comment">// should we really allow this??
188 // should this just be
189 </span><span class="jsdoc-string">'BODY' </span><span class="jsdoc-syntax">: {
190 </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">: {
191 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Title"</span><span class="jsdoc-syntax">,
192 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 200,
193 </span><span class="jsdoc-var">disabled </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
194 </span><span class="jsdoc-syntax">}
196 </span><span class="jsdoc-string">'SPAN' </span><span class="jsdoc-syntax">: {
197 </span><span class="jsdoc-string">'font-family' </span><span class="jsdoc-syntax">: {
198 </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Font"</span><span class="jsdoc-syntax">,
199 </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fontFamily'</span><span class="jsdoc-syntax">,
200 </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'display'</span><span class="jsdoc-syntax">,
201 </span><span class="jsdoc-var">optname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'font-family'</span><span class="jsdoc-syntax">,
202 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 140
205 </span><span class="jsdoc-string">'DIV' </span><span class="jsdoc-syntax">: {
206 </span><span class="jsdoc-string">'font-family' </span><span class="jsdoc-syntax">: {
207 </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Font"</span><span class="jsdoc-syntax">,
208 </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fontFamily'</span><span class="jsdoc-syntax">,
209 </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'display'</span><span class="jsdoc-syntax">,
210 </span><span class="jsdoc-var">optname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'font-family'</span><span class="jsdoc-syntax">,
211 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 140
214 </span><span class="jsdoc-string">'P' </span><span class="jsdoc-syntax">: {
215 </span><span class="jsdoc-string">'font-family' </span><span class="jsdoc-syntax">: {
216 </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Font"</span><span class="jsdoc-syntax">,
217 </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fontFamily'</span><span class="jsdoc-syntax">,
218 </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'display'</span><span class="jsdoc-syntax">,
219 </span><span class="jsdoc-var">optname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'font-family'</span><span class="jsdoc-syntax">,
220 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 140
224 </span><span class="jsdoc-string">'*' </span><span class="jsdoc-syntax">: {
225 </span><span class="jsdoc-comment">// empty..
226 </span><span class="jsdoc-syntax">}
230 </span><span class="jsdoc-comment">// this should be configurable.. - you can either set it up using stores, or modify options somehwere..
231 </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext.stores </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
233 </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext.options </span><span class="jsdoc-syntax">= {
234 </span><span class="jsdoc-string">'font-family' </span><span class="jsdoc-syntax">: [
235 [ </span><span class="jsdoc-string">'Helvetica,Arial,sans-serif'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Helvetica'</span><span class="jsdoc-syntax">],
236 [ </span><span class="jsdoc-string">'Courier New'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Courier New'</span><span class="jsdoc-syntax">],
237 [ </span><span class="jsdoc-string">'Tahoma'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Tahoma'</span><span class="jsdoc-syntax">],
238 [ </span><span class="jsdoc-string">'Times New Roman,serif'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Times'</span><span class="jsdoc-syntax">],
239 [ </span><span class="jsdoc-string">'Verdana'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'Verdana' </span><span class="jsdoc-syntax">]
243 </span><span class="jsdoc-comment">// fixme - these need to be configurable..
246 //Roo.form.HtmlEditor.ToolbarContext.types
249 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext.prototype</span><span class="jsdoc-syntax">, {
251 </span><span class="jsdoc-var">tb</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
253 </span><span class="jsdoc-var">rendered</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
255 </span><span class="jsdoc-var">editor </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
256 </span><span class="jsdoc-var">editorcore </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
257 </span><span class="jsdoc-comment">/**
258 * @cfg {Object} disable List of toolbar elements to disable
261 </span><span class="jsdoc-var">disable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
262 </span><span class="jsdoc-comment">/**
263 * @cfg {Object} styles List of styles
264 * eg. { '*' : [ 'headline' ] , 'TD' : [ 'underline', 'double-underline' ] }
266 * These must be defined in the page, so they get rendered correctly..
271 </span><span class="jsdoc-var">styles </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
273 </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
275 </span><span class="jsdoc-var">toolbars </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
277 </span><span class="jsdoc-var">init </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">editor</span><span class="jsdoc-syntax">)
279 </span><span class="jsdoc-var">this.editor </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editor</span><span class="jsdoc-syntax">;
280 </span><span class="jsdoc-var">this.editorcore </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editor.editorcore </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">editor.editorcore </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">editor</span><span class="jsdoc-syntax">;
281 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">editorcore </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore</span><span class="jsdoc-syntax">;
283 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editorcore.frameId</span><span class="jsdoc-syntax">;
284 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">etb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
285 </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">toggle</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">){
286 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">xid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fid </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">;
287 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
288 </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">xid</span><span class="jsdoc-syntax">,
289 </span><span class="jsdoc-var">cmd </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">,
290 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-btn-icon x-edit-'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">,
291 </span><span class="jsdoc-var">enableToggle</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">toggle </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
292 </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">editorcore</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">// was editor...
293 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">editorcore.relayBtnCmd</span><span class="jsdoc-syntax">,
294 </span><span class="jsdoc-var">clickEvent</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'mousedown'</span><span class="jsdoc-syntax">,
295 </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">etb.buttonTips</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">] || </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">///tips ???
296 </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
299 </span><span class="jsdoc-comment">// create a new element.
300 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">wdiv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editor.wrap.createChild</span><span class="jsdoc-syntax">({
301 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'
302 </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-var">editor.wrap.dom.firstChild.nextSibling</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
304 </span><span class="jsdoc-comment">// can we do this more than once??
309 // disable everything...
310 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ty</span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext.types</span><span class="jsdoc-syntax">;
311 </span><span class="jsdoc-var">this.toolbars </span><span class="jsdoc-syntax">= {};
313 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">ty</span><span class="jsdoc-syntax">) {
315 </span><span class="jsdoc-var">this.toolbars</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">this.buildToolbar</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ty</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">],</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
317 </span><span class="jsdoc-var">this.tb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.toolbars.BODY</span><span class="jsdoc-syntax">;
318 </span><span class="jsdoc-var">this.tb.el.show</span><span class="jsdoc-syntax">();
319 </span><span class="jsdoc-var">this.buildFooter</span><span class="jsdoc-syntax">();
320 </span><span class="jsdoc-var">this.footer.show</span><span class="jsdoc-syntax">();
321 </span><span class="jsdoc-var">editor.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'hide'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">( ) { </span><span class="jsdoc-var">this.footer.hide</span><span class="jsdoc-syntax">() }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
322 </span><span class="jsdoc-var">editor.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'show'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">( ) { </span><span class="jsdoc-var">this.footer.show</span><span class="jsdoc-syntax">() }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
325 </span><span class="jsdoc-var">this.rendered </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
327 </span><span class="jsdoc-comment">// the all the btns;
328 </span><span class="jsdoc-var">editor.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'editorevent'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.updateToolbar</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
329 </span><span class="jsdoc-comment">// other toolbars need to implement this..
330 //editor.on('editmodechange', this.updateToolbar, this);
331 </span><span class="jsdoc-syntax">},
335 </span><span class="jsdoc-comment">/**
336 * Protected method that will not generally be called directly. It triggers
337 * a toolbar update by reading the markup state of the current selection in the editor.
339 * Note you can force an update by calling on('editorevent', scope, false)
341 </span><span class="jsdoc-var">updateToolbar</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">editor</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">ev</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">){
343 </span><span class="jsdoc-comment">//Roo.log(ev);
344 // capture mouse up - this is handy for selecting images..
345 // perhaps should go somewhere else...
346 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.editorcore.activated</span><span class="jsdoc-syntax">){
347 </span><span class="jsdoc-var">this.editor.onFirstFocus</span><span class="jsdoc-syntax">();
348 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
353 </span><span class="jsdoc-comment">// http://developer.yahoo.com/yui/docs/simple-editor.js.html
354 // selectNode - might want to handle IE?
355 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ev </span><span class="jsdoc-syntax">&&
356 (</span><span class="jsdoc-var">ev.type </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'mouseup' </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">ev.type </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'click' </span><span class="jsdoc-syntax">) &&
357 </span><span class="jsdoc-var">ev.target </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">ev.target.tagName </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'IMG'</span><span class="jsdoc-syntax">) {
358 </span><span class="jsdoc-comment">// they have click on an image...
359 // let's see if we can change the selection...
360 </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ev.target</span><span class="jsdoc-syntax">;
362 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">nodeRange </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel.ownerDocument.createRange</span><span class="jsdoc-syntax">();
363 </span><span class="jsdoc-keyword">try </span><span class="jsdoc-syntax">{
364 </span><span class="jsdoc-var">nodeRange.selectNode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">);
365 } </span><span class="jsdoc-keyword">catch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
366 </span><span class="jsdoc-var">nodeRange.selectNodeContents</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">);
368 </span><span class="jsdoc-comment">//nodeRange.collapse(true);
369 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore.win.getSelection</span><span class="jsdoc-syntax">();
370 </span><span class="jsdoc-var">s.removeAllRanges</span><span class="jsdoc-syntax">();
371 </span><span class="jsdoc-var">s.addRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">nodeRange</span><span class="jsdoc-syntax">);
375 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">updateFooter </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">? </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
378 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ans </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore.getAllAncestors</span><span class="jsdoc-syntax">();
380 </span><span class="jsdoc-comment">// pick
381 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ty</span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext.types</span><span class="jsdoc-syntax">;
383 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">) {
384 </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ans.length </span><span class="jsdoc-syntax">? (</span><span class="jsdoc-var">ans</span><span class="jsdoc-syntax">[0] ? </span><span class="jsdoc-var">ans</span><span class="jsdoc-syntax">[0] : </span><span class="jsdoc-var">ans</span><span class="jsdoc-syntax">[1]) : </span><span class="jsdoc-var">this.editorcore.doc.body</span><span class="jsdoc-syntax">;
385 </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.editorcore.doc.body</span><span class="jsdoc-syntax">;
386 </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel.tagName.length </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.editorcore.doc.body</span><span class="jsdoc-syntax">;
389 </span><span class="jsdoc-comment">// pick a menu that exists..
390 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel.tagName.toUpperCase</span><span class="jsdoc-syntax">();
391 </span><span class="jsdoc-comment">//sel = typeof(ty[tn]) != 'undefined' ? sel : this.editor.doc.body;
393 </span><span class="jsdoc-var">tn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel.tagName.toUpperCase</span><span class="jsdoc-syntax">();
395 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lastSel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.tb.selectedNode</span><span class="jsdoc-syntax">;
397 </span><span class="jsdoc-var">this.tb.selectedNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">;
399 </span><span class="jsdoc-comment">// if current menu does not match..
401 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">this.tb.name </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">tn</span><span class="jsdoc-syntax">) || (</span><span class="jsdoc-var">lastSel </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">this.tb.selectedNode</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">ev </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) {
403 </span><span class="jsdoc-var">this.tb.el.hide</span><span class="jsdoc-syntax">();
404 </span><span class="jsdoc-comment">///console.log("show: " + tn);
405 </span><span class="jsdoc-var">this.tb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ty</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">tn</span><span class="jsdoc-syntax">]) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.toolbars</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">tn</span><span class="jsdoc-syntax">] : </span><span class="jsdoc-var">this.toolbars</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'*'</span><span class="jsdoc-syntax">];
406 </span><span class="jsdoc-var">this.tb.el.show</span><span class="jsdoc-syntax">();
407 </span><span class="jsdoc-comment">// update name
408 </span><span class="jsdoc-var">this.tb.items.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.el.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tn </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">':&nbsp;'</span><span class="jsdoc-syntax">;
411 </span><span class="jsdoc-comment">// update attributes
412 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tb.fields</span><span class="jsdoc-syntax">) {
413 </span><span class="jsdoc-var">this.tb.fields.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
414 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.stylename</span><span class="jsdoc-syntax">) {
415 </span><span class="jsdoc-var">e.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel.style</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">e.stylename</span><span class="jsdoc-syntax">]);
416 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
418 </span><span class="jsdoc-var">e.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel.getAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.attrname</span><span class="jsdoc-syntax">));
422 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hasStyles </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
423 </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">this.styles</span><span class="jsdoc-syntax">) {
424 </span><span class="jsdoc-var">hasStyles </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
425 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
428 </span><span class="jsdoc-comment">// update styles
429 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hasStyles</span><span class="jsdoc-syntax">) {
430 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.tb.fields.item</span><span class="jsdoc-syntax">(0);
432 </span><span class="jsdoc-var">st.store.removeAll</span><span class="jsdoc-syntax">();
435 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel.className.split</span><span class="jsdoc-syntax">(/\s+/);
437 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">avs </span><span class="jsdoc-syntax">= [];
438 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.styles</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'*'</span><span class="jsdoc-syntax">]) {
440 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.styles</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'*'</span><span class="jsdoc-syntax">], </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) {
441 </span><span class="jsdoc-var">avs.push</span><span class="jsdoc-syntax">( [ </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cn.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) > -1 ? 1 : 0 ] );
444 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.styles</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">tn</span><span class="jsdoc-syntax">]) {
445 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.styles</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">tn</span><span class="jsdoc-syntax">], </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) {
446 </span><span class="jsdoc-var">avs.push</span><span class="jsdoc-syntax">( [ </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cn.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) > -1 ? 1 : 0 ] );
450 </span><span class="jsdoc-var">st.store.loadData</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">avs</span><span class="jsdoc-syntax">);
451 </span><span class="jsdoc-var">st.collapse</span><span class="jsdoc-syntax">();
452 </span><span class="jsdoc-var">st.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">);
454 </span><span class="jsdoc-comment">// flag our selected Node.
455 </span><span class="jsdoc-var">this.tb.selectedNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">;
458 </span><span class="jsdoc-var">Roo.menu.MenuMgr.hideAll</span><span class="jsdoc-syntax">();
462 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">updateFooter</span><span class="jsdoc-syntax">) {
463 </span><span class="jsdoc-comment">//this.footDisp.dom.innerHTML = '';
464 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
466 </span><span class="jsdoc-comment">// update the footer
468 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
470 </span><span class="jsdoc-var">this.footerEls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ans.reverse</span><span class="jsdoc-syntax">();
471 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.footerEls</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) {
472 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">; }
473 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">html.length </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">' &gt; ' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
475 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">'<span class="x-ed-loc-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'">' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">a.tagName </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'</span>'</span><span class="jsdoc-syntax">;
479 </span><span class="jsdoc-comment">//
480 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sz </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.footDisp.up</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getSize</span><span class="jsdoc-syntax">();
481 </span><span class="jsdoc-var">this.footDisp.dom.style.width </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">sz.width </span><span class="jsdoc-syntax">-10) + </span><span class="jsdoc-string">'px'</span><span class="jsdoc-syntax">;
482 </span><span class="jsdoc-var">this.footDisp.dom.style.marginLeft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'5px'</span><span class="jsdoc-syntax">;
484 </span><span class="jsdoc-var">this.footDisp.dom.style.overflow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'hidden'</span><span class="jsdoc-syntax">;
486 </span><span class="jsdoc-var">this.footDisp.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">;
488 </span><span class="jsdoc-comment">//this.editorsyncValue();
489 </span><span class="jsdoc-syntax">},
494 </span><span class="jsdoc-comment">// private
495 </span><span class="jsdoc-var">onDestroy </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
496 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
498 </span><span class="jsdoc-var">this.tb.items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">){
499 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.menu</span><span class="jsdoc-syntax">){
500 </span><span class="jsdoc-var">item.menu.removeAll</span><span class="jsdoc-syntax">();
501 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.menu.el</span><span class="jsdoc-syntax">){
502 </span><span class="jsdoc-var">item.menu.el.destroy</span><span class="jsdoc-syntax">();
505 </span><span class="jsdoc-var">item.destroy</span><span class="jsdoc-syntax">();
510 </span><span class="jsdoc-var">onFirstFocus</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
511 </span><span class="jsdoc-comment">// need to do this for all the toolbars..
512 </span><span class="jsdoc-var">this.tb.items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">){
513 </span><span class="jsdoc-var">item.enable</span><span class="jsdoc-syntax">();
516 </span><span class="jsdoc-var">buildToolbar</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tlist</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">nm</span><span class="jsdoc-syntax">)
518 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">editor </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editor</span><span class="jsdoc-syntax">;
519 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">editorcore </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore</span><span class="jsdoc-syntax">;
520 </span><span class="jsdoc-comment">// create a new element.
521 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">wdiv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editor.wrap.createChild</span><span class="jsdoc-syntax">({
522 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'
523 </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-var">editor.wrap.dom.firstChild.nextSibling</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
526 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Toolbar</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">wdiv</span><span class="jsdoc-syntax">);
527 </span><span class="jsdoc-comment">// add the name..
529 </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">nm</span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">":&nbsp;"</span><span class="jsdoc-syntax">);
531 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">styles </span><span class="jsdoc-syntax">= [];
532 </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">this.styles</span><span class="jsdoc-syntax">) {
533 </span><span class="jsdoc-var">styles.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
536 </span><span class="jsdoc-comment">// styles...
537 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">styles </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">styles.length</span><span class="jsdoc-syntax">) {
539 </span><span class="jsdoc-comment">// this needs a multi-select checkbox...
540 </span><span class="jsdoc-var">tb.addField</span><span class="jsdoc-syntax">( </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.form.ComboBox</span><span class="jsdoc-syntax">({
541 </span><span class="jsdoc-var">store</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.data.SimpleStore</span><span class="jsdoc-syntax">({
542 </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">,
543 </span><span class="jsdoc-var">fields</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'selected'</span><span class="jsdoc-syntax">],
544 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: []
546 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'-roo-edit-className'</span><span class="jsdoc-syntax">,
547 </span><span class="jsdoc-var">attrname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'className'</span><span class="jsdoc-syntax">,
548 </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">,
549 </span><span class="jsdoc-var">typeAhead</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
550 </span><span class="jsdoc-var">mode</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'local'</span><span class="jsdoc-syntax">,
551 </span><span class="jsdoc-var">editable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
552 </span><span class="jsdoc-var">triggerAction</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">,
553 </span><span class="jsdoc-var">emptyText</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'Select Style'</span><span class="jsdoc-syntax">,
554 </span><span class="jsdoc-var">selectOnFocus</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
555 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 130,
556 </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
557 </span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) {
558 </span><span class="jsdoc-comment">// initial support only for on class per el..
559 </span><span class="jsdoc-var">tb.selectedNode.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">r.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
560 </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
567 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tbc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext</span><span class="jsdoc-syntax">;
568 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tbops </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tbc.options</span><span class="jsdoc-syntax">;
570 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">tlist</span><span class="jsdoc-syntax">) {
572 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tlist</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
573 </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.title </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">":&nbsp;"</span><span class="jsdoc-syntax">);
576 </span><span class="jsdoc-comment">//optname == used so you can configure the options available..
577 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">opts </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">item.opts </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">item.opts </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
578 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.optname</span><span class="jsdoc-syntax">) {
579 </span><span class="jsdoc-var">opts </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tbops</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">item.optname</span><span class="jsdoc-syntax">];
583 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">opts</span><span class="jsdoc-syntax">) {
584 </span><span class="jsdoc-comment">// opts == pulldown..
585 </span><span class="jsdoc-var">tb.addField</span><span class="jsdoc-syntax">( </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.form.ComboBox</span><span class="jsdoc-syntax">({
586 </span><span class="jsdoc-var">store</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tbc.stores</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">Roo.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tbc.stores</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">],</span><span class="jsdoc-var">Roo.data</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.data.SimpleStore</span><span class="jsdoc-syntax">({
587 </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">,
588 </span><span class="jsdoc-var">fields</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'display'</span><span class="jsdoc-syntax">],
589 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">opts
590 </span><span class="jsdoc-syntax">}),
591 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'-roo-edit-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">,
592 </span><span class="jsdoc-var">attrname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">,
593 </span><span class="jsdoc-var">stylename </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">item.style </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">item.style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
594 </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">item.displayField </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">item.displayField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">,
595 </span><span class="jsdoc-var">valueField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">,
596 </span><span class="jsdoc-var">typeAhead</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
597 </span><span class="jsdoc-var">mode</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tbc.stores</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'remote' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'local'</span><span class="jsdoc-syntax">,
598 </span><span class="jsdoc-var">editable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
599 </span><span class="jsdoc-var">triggerAction</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">,
600 </span><span class="jsdoc-var">emptyText</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'Select'</span><span class="jsdoc-syntax">,
601 </span><span class="jsdoc-var">selectOnFocus</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
602 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">item.width </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">item.width </span><span class="jsdoc-syntax">: 130,
603 </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
604 </span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) {
605 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.stylename</span><span class="jsdoc-syntax">) {
606 </span><span class="jsdoc-var">tb.selectedNode.style</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.stylename</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">r.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">);
607 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
609 </span><span class="jsdoc-var">tb.selectedNode.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.attrname</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">));
614 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
618 </span><span class="jsdoc-var">tb.addField</span><span class="jsdoc-syntax">( </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.form.TextField</span><span class="jsdoc-syntax">({
619 </span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">,
620 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 100,
621 </span><span class="jsdoc-comment">//allowBlank:false,
622 </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''
623 </span><span class="jsdoc-syntax">}));
624 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
626 </span><span class="jsdoc-var">tb.addField</span><span class="jsdoc-syntax">( </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.form.TextField</span><span class="jsdoc-syntax">({
627 </span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'-roo-edit-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">,
628 </span><span class="jsdoc-var">attrname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">,
630 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">item.width</span><span class="jsdoc-syntax">,
631 </span><span class="jsdoc-comment">//allowBlank:true,
632 </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
633 </span><span class="jsdoc-var">listeners</span><span class="jsdoc-syntax">: {
634 </span><span class="jsdoc-string">'change' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">nv</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ov</span><span class="jsdoc-syntax">) {
635 </span><span class="jsdoc-var">tb.selectedNode.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.attrname</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">nv</span><span class="jsdoc-syntax">);
636 </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
643 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
645 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">nm </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'BODY'</span><span class="jsdoc-syntax">){
646 </span><span class="jsdoc-var">tb.addSeparator</span><span class="jsdoc-syntax">();
648 </span><span class="jsdoc-var">tb.addButton</span><span class="jsdoc-syntax">( {
649 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Stylesheets'</span><span class="jsdoc-syntax">,
651 </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
652 </span><span class="jsdoc-var">click </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
654 </span><span class="jsdoc-var">_this.editor.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'stylesheetsclick'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this.editor</span><span class="jsdoc-syntax">);
660 </span><span class="jsdoc-var">tb.addFill</span><span class="jsdoc-syntax">();
661 </span><span class="jsdoc-var">tb.addButton</span><span class="jsdoc-syntax">( {
662 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Remove Tag'</span><span class="jsdoc-syntax">,
664 </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
665 </span><span class="jsdoc-var">click </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
667 </span><span class="jsdoc-comment">// remove
668 // undo does not work.
670 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tb.selectedNode</span><span class="jsdoc-syntax">;
672 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sn.parentNode</span><span class="jsdoc-syntax">;
674 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">stn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sn.childNodes</span><span class="jsdoc-syntax">[0];
675 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">en </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sn.childNodes</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sn.childNodes.length </span><span class="jsdoc-syntax">- 1 ];
676 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn.childNodes.length</span><span class="jsdoc-syntax">) {
677 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">node </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sn.childNodes</span><span class="jsdoc-syntax">[0];
678 </span><span class="jsdoc-var">sn.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
679 </span><span class="jsdoc-comment">//Roo.log(node);
680 </span><span class="jsdoc-var">pn.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">sn</span><span class="jsdoc-syntax">);
683 </span><span class="jsdoc-var">pn.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn</span><span class="jsdoc-syntax">);
684 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">range </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editorcore.createRange</span><span class="jsdoc-syntax">();
686 </span><span class="jsdoc-var">range.setStart</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">stn</span><span class="jsdoc-syntax">,0);
687 </span><span class="jsdoc-var">range.setEnd</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">en</span><span class="jsdoc-syntax">,0); </span><span class="jsdoc-comment">//????
688 //range.selectNode(sel);
691 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">selection </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editorcore.getSelection</span><span class="jsdoc-syntax">();
692 </span><span class="jsdoc-var">selection.removeAllRanges</span><span class="jsdoc-syntax">();
693 </span><span class="jsdoc-var">selection.addRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">range</span><span class="jsdoc-syntax">);
697 </span><span class="jsdoc-comment">//_this.updateToolbar(null, null, pn);
698 </span><span class="jsdoc-var">_this.updateToolbar</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">);
699 </span><span class="jsdoc-var">_this.footDisp.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
709 </span><span class="jsdoc-var">tb.el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
710 </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">(); </span><span class="jsdoc-comment">// what does this do?
711 </span><span class="jsdoc-syntax">});
712 </span><span class="jsdoc-var">tb.el.setVisibilityMode</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">);
713 </span><span class="jsdoc-var">tb.el.hide</span><span class="jsdoc-syntax">();
714 </span><span class="jsdoc-var">tb.name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">nm</span><span class="jsdoc-syntax">;
715 </span><span class="jsdoc-comment">// dont need to disable them... as they will get hidden
716 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">tb</span><span class="jsdoc-syntax">;
720 </span><span class="jsdoc-var">buildFooter </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
723 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editor.wrap.createChild</span><span class="jsdoc-syntax">();
724 </span><span class="jsdoc-var">this.footer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Toolbar</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fel</span><span class="jsdoc-syntax">);
725 </span><span class="jsdoc-comment">// toolbar has scrolly on left / right?
726 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">footDisp</span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Toolbar.Fill</span><span class="jsdoc-syntax">();
727 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
728 </span><span class="jsdoc-var">this.footer.add</span><span class="jsdoc-syntax">(
730 </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lt;'</span><span class="jsdoc-syntax">,
731 </span><span class="jsdoc-var">xtype</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Button'</span><span class="jsdoc-syntax">,
732 </span><span class="jsdoc-var">handler </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
733 </span><span class="jsdoc-var">_t.footDisp.scrollTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'left'</span><span class="jsdoc-syntax">,0,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)
737 </span><span class="jsdoc-var">this.footer.add</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">footDisp </span><span class="jsdoc-syntax">);
738 </span><span class="jsdoc-var">this.footer.add</span><span class="jsdoc-syntax">(
740 </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&gt;'</span><span class="jsdoc-syntax">,
741 </span><span class="jsdoc-var">xtype</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Button'</span><span class="jsdoc-syntax">,
742 </span><span class="jsdoc-var">handler </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
743 </span><span class="jsdoc-comment">// no animation..
744 </span><span class="jsdoc-var">_t.footDisp.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.last</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.scrollIntoView</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_t.footDisp</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
748 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">footDisp.el</span><span class="jsdoc-syntax">);
749 </span><span class="jsdoc-var">fel.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-editor-context'</span><span class="jsdoc-syntax">);
750 </span><span class="jsdoc-var">this.footDispWrap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fel</span><span class="jsdoc-syntax">;
751 </span><span class="jsdoc-var">this.footDispWrap.overflow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'hidden'</span><span class="jsdoc-syntax">;
753 </span><span class="jsdoc-var">this.footDisp </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fel.createChild</span><span class="jsdoc-syntax">();
754 </span><span class="jsdoc-var">this.footDispWrap.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onContextClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">)
758 </span><span class="jsdoc-var">onContextClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ev</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">dom</span><span class="jsdoc-syntax">)
760 </span><span class="jsdoc-var">ev.preventDefault</span><span class="jsdoc-syntax">();
761 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dom.className</span><span class="jsdoc-syntax">;
762 </span><span class="jsdoc-comment">//Roo.log(cn);
763 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cn.match</span><span class="jsdoc-syntax">(/x-ed-loc-/)) {
764 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
766 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cn.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.pop</span><span class="jsdoc-syntax">();
767 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ans </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.footerEls</span><span class="jsdoc-syntax">;
768 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ans</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">];
770 </span><span class="jsdoc-comment">// pick
771 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">range </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore.createRange</span><span class="jsdoc-syntax">();
773 </span><span class="jsdoc-var">range.selectNodeContents</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">);
774 </span><span class="jsdoc-comment">//range.selectNode(sel);
777 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">selection </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore.getSelection</span><span class="jsdoc-syntax">();
778 </span><span class="jsdoc-var">selection.removeAllRanges</span><span class="jsdoc-syntax">();
779 </span><span class="jsdoc-var">selection.addRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">range</span><span class="jsdoc-syntax">);
783 </span><span class="jsdoc-var">this.updateToolbar</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">);
798 </span></code></body></html>