1 <html><head><title>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
74 </span><span class="jsdoc-string">'FIGURE' </span><span class="jsdoc-syntax">: {
75 </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: {
76 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Align"</span><span class="jsdoc-syntax">,
77 </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">]],
78 </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: 80
81 </span><span class="jsdoc-string">'A' </span><span class="jsdoc-syntax">: {
82 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
83 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Name"</span><span class="jsdoc-syntax">,
84 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 50
86 </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">: {
87 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Target"</span><span class="jsdoc-syntax">,
88 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
90 </span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">: {
91 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Href"</span><span class="jsdoc-syntax">,
92 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 220
93 } </span><span class="jsdoc-comment">// border?
95 </span><span class="jsdoc-syntax">},
96 </span><span class="jsdoc-string">'TABLE' </span><span class="jsdoc-syntax">: {
97 </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">: {
98 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Rows"</span><span class="jsdoc-syntax">,
99 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
101 </span><span class="jsdoc-var">cols </span><span class="jsdoc-syntax">: {
102 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Cols"</span><span class="jsdoc-syntax">,
103 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
105 </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
106 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Width"</span><span class="jsdoc-syntax">,
107 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
109 </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">: {
110 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Height"</span><span class="jsdoc-syntax">,
111 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
113 </span><span class="jsdoc-var">border </span><span class="jsdoc-syntax">: {
114 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Border"</span><span class="jsdoc-syntax">,
115 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
118 </span><span class="jsdoc-string">'TD' </span><span class="jsdoc-syntax">: {
119 </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
120 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Width"</span><span class="jsdoc-syntax">,
121 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
123 </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">: {
124 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Height"</span><span class="jsdoc-syntax">,
125 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
127 </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: {
128 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Align"</span><span class="jsdoc-syntax">,
129 </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">]],
130 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 80
132 </span><span class="jsdoc-var">valign</span><span class="jsdoc-syntax">: {
133 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Valign"</span><span class="jsdoc-syntax">,
134 </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">]],
135 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 80
137 </span><span class="jsdoc-var">colspan</span><span class="jsdoc-syntax">: {
138 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Colspan"</span><span class="jsdoc-syntax">,
139 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
142 </span><span class="jsdoc-string">'font-family' </span><span class="jsdoc-syntax">: {
143 </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Font"</span><span class="jsdoc-syntax">,
144 </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fontFamily'</span><span class="jsdoc-syntax">,
145 </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'display'</span><span class="jsdoc-syntax">,
146 </span><span class="jsdoc-var">optname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'font-family'</span><span class="jsdoc-syntax">,
147 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 140
150 </span><span class="jsdoc-string">'INPUT' </span><span class="jsdoc-syntax">: {
151 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
152 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"name"</span><span class="jsdoc-syntax">,
153 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
155 </span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">: {
156 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Value"</span><span class="jsdoc-syntax">,
157 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
159 </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
160 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Width"</span><span class="jsdoc-syntax">,
161 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
164 </span><span class="jsdoc-string">'LABEL' </span><span class="jsdoc-syntax">: {
165 </span><span class="jsdoc-string">'for' </span><span class="jsdoc-syntax">: {
166 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"For"</span><span class="jsdoc-syntax">,
167 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
170 </span><span class="jsdoc-string">'TEXTAREA' </span><span class="jsdoc-syntax">: {
171 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
172 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"name"</span><span class="jsdoc-syntax">,
173 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
175 </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">: {
176 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Rows"</span><span class="jsdoc-syntax">,
177 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
179 </span><span class="jsdoc-var">cols </span><span class="jsdoc-syntax">: {
180 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Cols"</span><span class="jsdoc-syntax">,
181 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
184 </span><span class="jsdoc-string">'SELECT' </span><span class="jsdoc-syntax">: {
185 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
186 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"name"</span><span class="jsdoc-syntax">,
187 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
189 </span><span class="jsdoc-var">selectoptions </span><span class="jsdoc-syntax">: {
190 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Options"</span><span class="jsdoc-syntax">,
191 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 200
195 </span><span class="jsdoc-comment">// should we really allow this??
196 // should this just be
197 </span><span class="jsdoc-string">'BODY' </span><span class="jsdoc-syntax">: {
198 </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">: {
199 </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Title"</span><span class="jsdoc-syntax">,
200 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 200,
201 </span><span class="jsdoc-var">disabled </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
202 </span><span class="jsdoc-syntax">}
204 </span><span class="jsdoc-comment">/*
207 title : "Font",
208 style : 'fontFamily',
209 displayField: 'display',
210 optname : 'font-family',
216 title : "Font",
217 style : 'fontFamily',
218 displayField: 'display',
219 optname : 'font-family',
225 title : "Font",
226 style : 'fontFamily',
227 displayField: 'display',
228 optname : 'font-family',
233 </span><span class="jsdoc-string">'*' </span><span class="jsdoc-syntax">: {
234 </span><span class="jsdoc-comment">// empty..
235 </span><span class="jsdoc-syntax">}
239 </span><span class="jsdoc-comment">// this should be configurable.. - you can either set it up using stores, or modify options somehwere..
240 </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">;
242 </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext.options </span><span class="jsdoc-syntax">= {
243 </span><span class="jsdoc-string">'font-family' </span><span class="jsdoc-syntax">: [
244 [ </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">],
245 [ </span><span class="jsdoc-string">'Courier New'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Courier New'</span><span class="jsdoc-syntax">],
246 [ </span><span class="jsdoc-string">'Tahoma'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Tahoma'</span><span class="jsdoc-syntax">],
247 [ </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">],
248 [ </span><span class="jsdoc-string">'Verdana'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'Verdana' </span><span class="jsdoc-syntax">]
252 </span><span class="jsdoc-comment">// fixme - these need to be configurable..
255 //Roo.form.HtmlEditor.ToolbarContext.types
258 </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">, {
260 </span><span class="jsdoc-var">tb</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
262 </span><span class="jsdoc-var">rendered</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
264 </span><span class="jsdoc-var">editor </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
265 </span><span class="jsdoc-var">editorcore </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
266 </span><span class="jsdoc-comment">/**
267 * @cfg {Object} disable List of toolbar elements to disable
270 </span><span class="jsdoc-var">disable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
271 </span><span class="jsdoc-comment">/**
272 * @cfg {Object} styles List of styles
273 * eg. { '*' : [ 'headline' ] , 'TD' : [ 'underline', 'double-underline' ] }
275 * These must be defined in the page, so they get rendered correctly..
280 </span><span class="jsdoc-var">styles </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
282 </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
284 </span><span class="jsdoc-var">toolbars </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
286 </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">)
288 </span><span class="jsdoc-var">this.editor </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editor</span><span class="jsdoc-syntax">;
289 </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">;
290 </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">;
292 </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">;
293 </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">;
294 </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">){
295 </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">;
296 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
297 </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">xid</span><span class="jsdoc-syntax">,
298 </span><span class="jsdoc-var">cmd </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">,
299 </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">,
300 </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">,
301 </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...
302 </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">,
303 </span><span class="jsdoc-var">clickEvent</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'mousedown'</span><span class="jsdoc-syntax">,
304 </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 ???
305 </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
308 </span><span class="jsdoc-comment">// create a new element.
309 </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">({
310 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'
311 </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">);
313 </span><span class="jsdoc-comment">// can we do this more than once??
318 // disable everything...
319 </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">;
320 </span><span class="jsdoc-var">this.toolbars </span><span class="jsdoc-syntax">= {};
322 </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">) {
324 </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">);
326 </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">;
327 </span><span class="jsdoc-var">this.tb.el.show</span><span class="jsdoc-syntax">();
328 </span><span class="jsdoc-var">this.buildFooter</span><span class="jsdoc-syntax">();
329 </span><span class="jsdoc-var">this.footer.show</span><span class="jsdoc-syntax">();
330 </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">);
331 </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">);
334 </span><span class="jsdoc-var">this.rendered </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
336 </span><span class="jsdoc-comment">// the all the btns;
337 </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">);
338 </span><span class="jsdoc-comment">// other toolbars need to implement this..
339 //editor.on('editmodechange', this.updateToolbar, this);
340 </span><span class="jsdoc-syntax">},
344 </span><span class="jsdoc-comment">/**
345 * Protected method that will not generally be called directly. It triggers
346 * a toolbar update by reading the markup state of the current selection in the editor.
348 * Note you can force an update by calling on('editorevent', scope, false)
350 </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">){
352 </span><span class="jsdoc-comment">//Roo.log(ev);
353 // capture mouse up - this is handy for selecting images..
354 // perhaps should go somewhere else...
355 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.editorcore.activated</span><span class="jsdoc-syntax">){
356 </span><span class="jsdoc-var">this.editor.onFirstFocus</span><span class="jsdoc-syntax">();
357 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
362 </span><span class="jsdoc-comment">// http://developer.yahoo.com/yui/docs/simple-editor.js.html
363 // selectNode - might want to handle IE?
367 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ev </span><span class="jsdoc-syntax">&&
368 (</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">) &&
369 </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">) {
370 </span><span class="jsdoc-comment">// they have click on an image...
371 // let's see if we can change the selection...
372 </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ev.target</span><span class="jsdoc-syntax">;
374 </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">();
375 </span><span class="jsdoc-keyword">try </span><span class="jsdoc-syntax">{
376 </span><span class="jsdoc-var">nodeRange.selectNode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">);
377 } </span><span class="jsdoc-keyword">catch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
378 </span><span class="jsdoc-var">nodeRange.selectNodeContents</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">);
380 </span><span class="jsdoc-comment">//nodeRange.collapse(true);
381 </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">();
382 </span><span class="jsdoc-var">s.removeAllRanges</span><span class="jsdoc-syntax">();
383 </span><span class="jsdoc-var">s.addRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">nodeRange</span><span class="jsdoc-syntax">);
387 </span><span class="jsdoc-comment">//var updateFooter = sel ? false : true;
390 </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">();
392 </span><span class="jsdoc-comment">// pick
393 </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">;
395 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">) {
396 </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">;
397 </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">;
398 </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">;
402 </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">();
403 </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">;
404 </span><span class="jsdoc-var">this.tb.selectedNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">;
405 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">left_label </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tn</span><span class="jsdoc-syntax">;
407 </span><span class="jsdoc-comment">// ok see if we are editing a block?
409 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">db </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.findParent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'[data-block]'</span><span class="jsdoc-syntax">);
410 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">block </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
411 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">db</span><span class="jsdoc-syntax">) {
412 </span><span class="jsdoc-var">block </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.htmleditor.Block.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">db</span><span class="jsdoc-syntax">);
413 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">block</span><span class="jsdoc-syntax">) {
414 </span><span class="jsdoc-var">tn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'BLOCK.' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">db.getAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">);
415 </span><span class="jsdoc-var">this.tb.selectedNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">db</span><span class="jsdoc-syntax">;
416 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</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-string">'undefined'</span><span class="jsdoc-syntax">) {
417 </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.buildToolbar</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">block.context</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">tn </span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">block.friendly_name</span><span class="jsdoc-syntax">);
419 </span><span class="jsdoc-var">left_label </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">block.friendly_name</span><span class="jsdoc-syntax">;
427 </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">) {
428 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// no change?
429 </span><span class="jsdoc-syntax">}
433 </span><span class="jsdoc-var">this.tb.el.hide</span><span class="jsdoc-syntax">();
434 </span><span class="jsdoc-comment">///console.log("show: " + tn);
435 </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">this.toolbars</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">];
437 </span><span class="jsdoc-var">this.tb.el.show</span><span class="jsdoc-syntax">();
438 </span><span class="jsdoc-comment">// update name
439 </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">left_label </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">':&nbsp;'</span><span class="jsdoc-syntax">;
442 </span><span class="jsdoc-comment">// update attributes
443 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">db</span><span class="jsdoc-syntax">) {
444 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dbo </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">node </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">});
445 </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">) {
446 </span><span class="jsdoc-var">e.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dob</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">e.attrname</span><span class="jsdoc-syntax">]);
450 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tb.fields</span><span class="jsdoc-syntax">) {
451 </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">) {
452 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.stylename</span><span class="jsdoc-syntax">) {
453 </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">]);
454 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
456 </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">));
459 </span><span class="jsdoc-var">this.updateToolbarStyles</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">);
461 </span><span class="jsdoc-comment">// flag our selected Node.
462 </span><span class="jsdoc-var">this.tb.selectedNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">;
465 </span><span class="jsdoc-var">Roo.menu.MenuMgr.hideAll</span><span class="jsdoc-syntax">();
470 </span><span class="jsdoc-comment">// update the footer
472 </span><span class="jsdoc-var">this.updateFooter</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ans</span><span class="jsdoc-syntax">);
476 </span><span class="jsdoc-var">updateToolbarStyles </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">)
478 </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">;
479 </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">) {
480 </span><span class="jsdoc-var">hasStyles </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
481 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
484 </span><span class="jsdoc-comment">// update styles
485 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hasStyles</span><span class="jsdoc-syntax">) {
486 </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);
488 </span><span class="jsdoc-var">st.store.removeAll</span><span class="jsdoc-syntax">();
489 </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+/);
491 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">avs </span><span class="jsdoc-syntax">= [];
492 </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">]) {
494 </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">) {
495 </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 ] );
498 </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">]) {
499 </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">) {
500 </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 ] );
504 </span><span class="jsdoc-var">st.store.loadData</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">avs</span><span class="jsdoc-syntax">);
505 </span><span class="jsdoc-var">st.collapse</span><span class="jsdoc-syntax">();
506 </span><span class="jsdoc-var">st.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">);
511 </span><span class="jsdoc-var">updateFooter </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ans</span><span class="jsdoc-syntax">)
513 </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">;
514 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ans </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) {
515 </span><span class="jsdoc-var">this.footDisp.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
516 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
519 </span><span class="jsdoc-var">this.footerEls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ans.reverse</span><span class="jsdoc-syntax">();
520 </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">) {
521 </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">; }
522 </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">;
524 </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">;
528 </span><span class="jsdoc-comment">//
529 </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">();
530 </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">;
531 </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">;
533 </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">;
535 </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">;
541 </span><span class="jsdoc-comment">// private
542 </span><span class="jsdoc-var">onDestroy </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
543 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
545 </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">){
546 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.menu</span><span class="jsdoc-syntax">){
547 </span><span class="jsdoc-var">item.menu.removeAll</span><span class="jsdoc-syntax">();
548 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.menu.el</span><span class="jsdoc-syntax">){
549 </span><span class="jsdoc-var">item.menu.el.destroy</span><span class="jsdoc-syntax">();
552 </span><span class="jsdoc-var">item.destroy</span><span class="jsdoc-syntax">();
557 </span><span class="jsdoc-var">onFirstFocus</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
558 </span><span class="jsdoc-comment">// need to do this for all the toolbars..
559 </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">){
560 </span><span class="jsdoc-var">item.enable</span><span class="jsdoc-syntax">();
563 </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">, </span><span class="jsdoc-var">friendly_name</span><span class="jsdoc-syntax">)
565 </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">;
566 </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">;
567 </span><span class="jsdoc-comment">// create a new element.
568 </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">({
569 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'
570 </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">);
573 </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">);
574 </span><span class="jsdoc-var">tb.name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">nm</span><span class="jsdoc-syntax">;
576 </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">((</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">friendly_name</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">nm </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">friendly_name</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">":&nbsp;"</span><span class="jsdoc-syntax">);
578 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">styles </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Array.from</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.styles</span><span class="jsdoc-syntax">);
581 </span><span class="jsdoc-comment">// styles...
582 </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">) {
584 </span><span class="jsdoc-comment">// this needs a multi-select checkbox...
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">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">'selected'</span><span class="jsdoc-syntax">],
589 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: []
591 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'-roo-edit-className'</span><span class="jsdoc-syntax">,
592 </span><span class="jsdoc-var">attrname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'className'</span><span class="jsdoc-syntax">,
593 </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">,
594 </span><span class="jsdoc-var">typeAhead</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
595 </span><span class="jsdoc-var">mode</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'local'</span><span class="jsdoc-syntax">,
596 </span><span class="jsdoc-var">editable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
597 </span><span class="jsdoc-var">triggerAction</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">,
598 </span><span class="jsdoc-var">emptyText</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'Select Style'</span><span class="jsdoc-syntax">,
599 </span><span class="jsdoc-var">selectOnFocus</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
600 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 130,
601 </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
602 </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">) {
603 </span><span class="jsdoc-comment">// initial support only for on class per el..
604 </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">;
605 </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
612 </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">;
615 </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">) {
617 </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">];
618 </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">);
621 </span><span class="jsdoc-comment">//optname == used so you can configure the options available..
622 </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">;
623 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.optname</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-comment">// use the b
624 </span><span class="jsdoc-var">opts </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext.options</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">item.optname</span><span class="jsdoc-syntax">];
628 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">opts</span><span class="jsdoc-syntax">) {
629 </span><span class="jsdoc-comment">// opts == pulldown..
630 </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">({
631 </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">({
632 </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">,
633 </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">],
634 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">opts
635 </span><span class="jsdoc-syntax">}),
636 </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">,
638 </span><span class="jsdoc-var">attrname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">,
639 </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">,
641 </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">,
642 </span><span class="jsdoc-var">valueField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">,
643 </span><span class="jsdoc-var">typeAhead</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
644 </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">,
645 </span><span class="jsdoc-var">editable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
646 </span><span class="jsdoc-var">triggerAction</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">,
647 </span><span class="jsdoc-var">emptyText</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'Select'</span><span class="jsdoc-syntax">,
648 </span><span class="jsdoc-var">selectOnFocus</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
649 </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,
650 </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
651 </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">) {
652 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode.hasClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">)) {
653 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.htmleditor.Block.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode</span><span class="jsdoc-syntax">);
654 </span><span class="jsdoc-var">b</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">);
655 </span><span class="jsdoc-var">b.updateElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode</span><span class="jsdoc-syntax">);
656 </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
657 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
660 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.stylename</span><span class="jsdoc-syntax">) {
661 </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">);
662 </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
663 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
665 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) {
666 </span><span class="jsdoc-var">tb.selectedNode.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.attrname</span><span class="jsdoc-syntax">);
667 </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
668 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
670 </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">));
671 </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
676 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
679 </span><span class="jsdoc-comment">/*
680 tb.addField( new Roo.form.TextField({
688 </span><span class="jsdoc-syntax">}
689 </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">({
690 </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">,
691 </span><span class="jsdoc-var">attrname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">,
693 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">item.width</span><span class="jsdoc-syntax">,
694 </span><span class="jsdoc-comment">//allowBlank:true,
695 </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
696 </span><span class="jsdoc-var">listeners</span><span class="jsdoc-syntax">: {
697 </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">) {
699 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode.hasClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">)) {
700 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.htmleditor.Block.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode</span><span class="jsdoc-syntax">);
701 </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.attrname</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">nv</span><span class="jsdoc-syntax">;
702 </span><span class="jsdoc-var">b.updateElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode</span><span class="jsdoc-syntax">);
703 </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
704 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
707 </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">);
708 </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
715 </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">;
717 </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">){
718 </span><span class="jsdoc-var">tb.addSeparator</span><span class="jsdoc-syntax">();
720 </span><span class="jsdoc-var">tb.addButton</span><span class="jsdoc-syntax">( {
721 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Stylesheets'</span><span class="jsdoc-syntax">,
723 </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
724 </span><span class="jsdoc-var">click </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
726 </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">);
732 </span><span class="jsdoc-var">tb.addFill</span><span class="jsdoc-syntax">();
733 </span><span class="jsdoc-var">tb.addButton</span><span class="jsdoc-syntax">({
734 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Remove'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">// remove the tag, and puts the children outside...
736 </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
737 </span><span class="jsdoc-var">click </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
739 </span><span class="jsdoc-comment">// remove
740 // undo does not work.
741 </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">;
742 </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] || </span><span class="jsdoc-var">sn.nextSibling </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">sn.previousSibling </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">pn</span><span class="jsdoc-syntax">;
743 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn.hasAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">)) {
744 </span><span class="jsdoc-var">sn.parentNode.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn</span><span class="jsdoc-syntax">);
745 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
746 </span><span class="jsdoc-comment">// remove and keep parents.
747 </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.htmleditor.FilterKeepChildren</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">});
748 </span><span class="jsdoc-var">a.removeTag</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn</span><span class="jsdoc-syntax">);
752 </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">();
754 </span><span class="jsdoc-var">range.setStart</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">stn</span><span class="jsdoc-syntax">,0);
755 </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">//????
756 </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">();
757 </span><span class="jsdoc-var">selection.removeAllRanges</span><span class="jsdoc-syntax">();
758 </span><span class="jsdoc-var">selection.addRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">range</span><span class="jsdoc-syntax">);
761 </span><span class="jsdoc-comment">//_this.updateToolbar(null, null, pn);
762 </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">);
763 </span><span class="jsdoc-var">_this.updateFooter</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
774 </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">){
775 </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">(); </span><span class="jsdoc-comment">// what does this do?
776 </span><span class="jsdoc-syntax">});
777 </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">);
778 </span><span class="jsdoc-var">tb.el.hide</span><span class="jsdoc-syntax">();
780 </span><span class="jsdoc-comment">// dont need to disable them... as they will get hidden
781 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">tb</span><span class="jsdoc-syntax">;
785 </span><span class="jsdoc-var">buildFooter </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
788 </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">();
789 </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">);
790 </span><span class="jsdoc-comment">// toolbar has scrolly on left / right?
791 </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">();
792 </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">;
793 </span><span class="jsdoc-var">this.footer.add</span><span class="jsdoc-syntax">(
795 </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lt;'</span><span class="jsdoc-syntax">,
796 </span><span class="jsdoc-var">xtype</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Button'</span><span class="jsdoc-syntax">,
797 </span><span class="jsdoc-var">handler </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
798 </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">)
802 </span><span class="jsdoc-var">this.footer.add</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">footDisp </span><span class="jsdoc-syntax">);
803 </span><span class="jsdoc-var">this.footer.add</span><span class="jsdoc-syntax">(
805 </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&gt;'</span><span class="jsdoc-syntax">,
806 </span><span class="jsdoc-var">xtype</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Button'</span><span class="jsdoc-syntax">,
807 </span><span class="jsdoc-var">handler </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
808 </span><span class="jsdoc-comment">// no animation..
809 </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">);
813 </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">);
814 </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">);
815 </span><span class="jsdoc-var">this.footDispWrap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fel</span><span class="jsdoc-syntax">;
816 </span><span class="jsdoc-var">this.footDispWrap.overflow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'hidden'</span><span class="jsdoc-syntax">;
818 </span><span class="jsdoc-var">this.footDisp </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fel.createChild</span><span class="jsdoc-syntax">();
819 </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">)
823 </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">)
825 </span><span class="jsdoc-var">ev.preventDefault</span><span class="jsdoc-syntax">();
826 </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">;
827 </span><span class="jsdoc-comment">//Roo.log(cn);
828 </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-/)) {
829 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
831 </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">();
832 </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">;
833 </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">];
835 </span><span class="jsdoc-comment">// pick
836 </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">();
838 </span><span class="jsdoc-var">range.selectNodeContents</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">);
839 </span><span class="jsdoc-comment">//range.selectNode(sel);
842 </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">();
843 </span><span class="jsdoc-var">selection.removeAllRanges</span><span class="jsdoc-syntax">();
844 </span><span class="jsdoc-var">selection.addRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">range</span><span class="jsdoc-syntax">);
848 </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">);
863 </span></code></body></html>