sync
authorAlan <alan@roojs.com>
Thu, 4 Nov 2021 03:21:54 +0000 (11:21 +0800)
committerAlan <alan@roojs.com>
Thu, 4 Nov 2021 03:21:54 +0000 (11:21 +0800)
13 files changed:
Roo/form/HtmlEditor/ToolbarContext.js
Roo/form/HtmlEditor/ToolbarStandard.js
Roo/htmleditor/BlockTable.js
docs/json/roodata.json
docs/src/Roo_bootstrap_form_SecurePass.js.html
docs/src/Roo_form_HtmlEditor_ToolbarContext.js.html
docs/src/Roo_form_HtmlEditor_ToolbarStandard.js.html
docs/src/Roo_form_Layout.js.html
docs/src/Roo_htmleditor_Block.js.html
docs/src/Roo_htmleditor_FilterParagraph.js.html
docs/src/Roo_htmleditor_namespace.js.html
docs/symbols/Roo.form.Column.json
examples/form/htmledit.js

index a8060c2..f958cad 100644 (file)
@@ -414,7 +414,7 @@ Roo.apply(Roo.form.HtmlEditor.ToolbarContext.prototype,  {
                 this.tb.selectedNode = db;
                 this.editorcore.selectNode(db);
                 if (typeof(this.toolbars[tn]) == 'undefined') {
-                   this.toolbars[tn] = this.buildToolbar( block.context || block.contectMenu() ,tn ,block.friendly_name);
+                   this.toolbars[tn] = this.buildToolbar( block.context || block.contextMenu(this) ,tn ,block.friendly_name);
                 }
                 left_label = block.friendly_name;
                 ans = this.editorcore.getAllAncestors();
index bcc5ee1..3aa47e9 100644 (file)
@@ -484,7 +484,7 @@ Roo.apply(Roo.form.HtmlEditor.ToolbarStandard.prototype,  {
         
         if (this.btns) {
             for(var i =0; i< this.btns.length;i++) {
-                var b = Roo.factory(this.btns[i],Roo.form);
+                var b = Roo.factory(this.btns[i],this.btns[i].xns || Roo.form);
                 b.cls =  'x-edit-none';
                 
                 if(typeof(this.btns[i].cls) != 'undefined' && this.btns[i].cls.indexOf('x-init-enable') !== -1){
index 721dcee..f317615 100644 (file)
@@ -263,6 +263,7 @@ Roo.extend(Roo.htmleditor.BlockTable, Roo.htmleditor.Block, {
         var ret = {
             tag : 'table',
             contenteditable : 'false',
+            'data-block' : 'Table',
             style : {
                 width:  this.width,
                 border : 'solid 1px #000', // ??? hard coded?
@@ -363,17 +364,17 @@ Roo.extend(Roo.htmleditor.BlockTable, Roo.htmleditor.Block, {
         
         this.rows = [];
         this.no_row = 0;
-        var trs = Array.from(node.getElementsByTabName('tr'));
+        var trs = Array.from(node.getElementsByTagName('tr'));
         trs.forEach(function(tr) {
-            var row = { cells : [] };
+            var row =  []  
             this.rows.push(row);
-            if (Roo.get(tr).hadClass('roo-html-editor-el')) {
+            if (Roo.get(tr).hasClass('roo-html-editor-el')) { // ??? this is for our 'row' selection'
                 return;
             }
             this.no_row++;
             var no_column = 0;
-            Array.from(tr.getElementsByTabName('td')).forEach(function(td) {
-                if (Roo.get(td).hadClass('roo-html-editor-el')) {
+            Array.from(tr.getElementsByTagName('td')).forEach(function(td) {
+                if (Roo.get(td).hasClass('roo-html-editor-el')) { // ??? this is for our 'row' selection'
                     return;
                 }
                 var add ={
@@ -382,17 +383,17 @@ Roo.extend(Roo.htmleditor.BlockTable, Roo.htmleditor.Block, {
                     textAlign : this.getVal(node, true, 'style', 'text-align'),
                     html : td.innerHTML
                 }
-                no_column += colspan;
+                no_column += add.colspan;
                      
                 
                 row.push(add);
                 
                 
-            });
+            },this);
             this.no_col = Math.max(this.no_col, no_column);
             
             
-        });
+        },this);
         
         
     },
index 02609af..ecb92f1 100644 (file)
     "isAbstract" : false,
     "isBuilderTop" : false,
     "implementations" : [],
-    "tree_children" : [],
+    "tree_children" : [
+      "Roo.form.Row",
+      "Roo.form.Field",
+      "Roo.form.Checkbox",
+      "Roo.form.ComboBox",
+      "Roo.form.ComboBoxArray",
+      "Roo.form.ComboCheck",
+      "Roo.form.ComboNested",
+      "Roo.form.DateField",
+      "Roo.form.DayPicker",
+      "Roo.form.DisplayField",
+      "Roo.form.FCKeditor",
+      "Roo.form.GridField",
+      "Roo.form.Hidden",
+      "Roo.form.HtmlEditor",
+      "Roo.form.MonthField",
+      "Roo.form.NumberField",
+      "Roo.form.Radio",
+      "Roo.form.Select",
+      "Roo.form.Signature",
+      "Roo.form.TextArea",
+      "Roo.form.TextField",
+      "Roo.form.TriggerField",
+      "Roo.Button",
+      "Roo.SplitButton",
+      "Roo.Toolbar.Button",
+      "Roo.Toolbar.SplitButton",
+      "Roo.form.TextItem"
+    ],
     "tree_parent" : []
   },
   "Roo.form.ComboBox" : {
index 462fc0c..b4b3846 100644 (file)
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.IsLongEnough</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pwd</span><span class="jsdoc-syntax">, 6) || !</span><span class="jsdoc-var">this.IsLongEnough</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pwd</span><span class="jsdoc-syntax">, 0);
     }
 
-})</span></code></body></html>
\ No newline at end of file
+});</span></code></body></html>
\ No newline at end of file
index f17297d..d26b1b6 100644 (file)
         } </span><span class="jsdoc-comment">// border?
 
     </span><span class="jsdoc-syntax">},
-    </span><span class="jsdoc-string">'TABLE' </span><span class="jsdoc-syntax">: {
-        </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Rows&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
+    </span><span class="jsdoc-comment">/*
+    'TABLE' : {
+        rows : {
+            title: &quot;Rows&quot;,
+            width: 20
         },
-        </span><span class="jsdoc-var">cols </span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Cols&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
+        cols : {
+            title: &quot;Cols&quot;,
+            width: 20
         },
-        </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Width&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
+        width : {
+            title: &quot;Width&quot;,
+            width: 40
         },
-        </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Height&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
+        height : {
+            title: &quot;Height&quot;,
+            width: 40
         },
-        </span><span class="jsdoc-var">border </span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Border&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
+        border : {
+            title: &quot;Border&quot;,
+            width: 20
         }
     },
-    </span><span class="jsdoc-string">'TD' </span><span class="jsdoc-syntax">: {
-        </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Width&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
+    'TD' : {
+        width : {
+            title: &quot;Width&quot;,
+            width: 40
         },
-        </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Height&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 40
+        height : {
+            title: &quot;Height&quot;,
+            width: 40
+        },   
+        align: {
+            title: &quot;Align&quot;,
+            opts : [[&quot;&quot;],[ &quot;left&quot;],[ &quot;center&quot;],[ &quot;right&quot;],[ &quot;justify&quot;],[ &quot;char&quot;]],
+            width: 80
         },
-        </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Align&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">opts </span><span class="jsdoc-syntax">: [[</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;left&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;center&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;right&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;justify&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;char&quot;</span><span class="jsdoc-syntax">]],
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 80
+        valign: {
+            title: &quot;Valign&quot;,
+            opts : [[&quot;&quot;],[ &quot;top&quot;],[ &quot;middle&quot;],[ &quot;bottom&quot;],[ &quot;baseline&quot;]],
+            width: 80
         },
-        </span><span class="jsdoc-var">valign</span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Valign&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">opts </span><span class="jsdoc-syntax">: [[</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;top&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;middle&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;bottom&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;baseline&quot;</span><span class="jsdoc-syntax">]],
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 80
+        colspan: {
+            title: &quot;Colspan&quot;,
+            width: 20
+            
         },
-        </span><span class="jsdoc-var">colspan</span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Colspan&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 20
-
-        },
-         </span><span class="jsdoc-string">'font-family'  </span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Font&quot;</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fontFamily'</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'display'</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">optname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'font-family'</span><span class="jsdoc-syntax">,
-            </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 140
+         'font-family'  : {
+            title : &quot;Font&quot;,
+            style : 'fontFamily',
+            displayField: 'display',
+            optname : 'font-family',
+            width: 140
         }
     },
+    */
     </span><span class="jsdoc-string">'INPUT' </span><span class="jsdoc-syntax">: {
         </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;name&quot;</span><span class="jsdoc-syntax">,
                 </span><span class="jsdoc-var">this.tb.selectedNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">db</span><span class="jsdoc-syntax">;
                 </span><span class="jsdoc-var">this.editorcore.selectNode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">db</span><span class="jsdoc-syntax">);
                 </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">) {
-                   </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">);
+                   </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">block.contextMenu</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</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">);
                 }
                 </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">;
                 </span><span class="jsdoc-var">ans </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore.getAllAncestors</span><span class="jsdoc-syntax">();
 
     </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">)
     {
-         </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">;
+        </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">;
         </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">) {
             </span><span class="jsdoc-var">hasStyles </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
             </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
         }
 
         </span><span class="jsdoc-comment">// update styles
-        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hasStyles</span><span class="jsdoc-syntax">) {
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hasStyles </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.tb.hasStyles</span><span class="jsdoc-syntax">) {
             </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);
 
             </span><span class="jsdoc-var">st.store.removeAll</span><span class="jsdoc-syntax">();
 
 
         </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">);
+        </span><span class="jsdoc-var">tb.hasStyles </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
         </span><span class="jsdoc-var">tb.name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">nm</span><span class="jsdoc-syntax">;
 
         </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">&quot;:&amp;nbsp;&quot;</span><span class="jsdoc-syntax">);
 
         </span><span class="jsdoc-comment">// styles...
         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">styles </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">styles.length</span><span class="jsdoc-syntax">) {
-
+            </span><span class="jsdoc-var">tb.hasStyles </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
             </span><span class="jsdoc-comment">// this needs a multi-select checkbox...
             </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">({
                 </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">({
 
         </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">) {
 
+            </span><span class="jsdoc-comment">// newer versions will use xtype cfg to create menus.
+            </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">tlist</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.xtype</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
+                </span><span class="jsdoc-var">tb.addField</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.factory</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">]</span><span class="jsdoc-var">.xtype</span><span class="jsdoc-syntax">));
+                </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
+            }
+
             </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">];
             </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">&quot;:&amp;nbsp;&quot;</span><span class="jsdoc-syntax">);
 
                     </span><span class="jsdoc-comment">// remove
                     // undo does not work.
                     </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">;
+                    </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">sn</span><span class="jsdoc-syntax">) {
+                        </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+                    }
                     </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">sn.parentNode</span><span class="jsdoc-syntax">;
                     </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">)) {
                         </span><span class="jsdoc-var">stn </span><span class="jsdoc-syntax">=  </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">sn.parentNode</span><span class="jsdoc-syntax">;
                         </span><span class="jsdoc-var">sn.parentNode.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn</span><span class="jsdoc-syntax">);
 
-                    } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+                    } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">sn.tagName </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">'BODY'</span><span class="jsdoc-syntax">) {
                         </span><span class="jsdoc-comment">// remove and keep parents.
                         </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">});
                         </span><span class="jsdoc-var">a.removeTag</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn</span><span class="jsdoc-syntax">);
index 945a107..1050221 100644 (file)
 
         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.btns</span><span class="jsdoc-syntax">) {
             </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-syntax">=0; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.btns.length</span><span class="jsdoc-syntax">;</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
-                </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">],</span><span class="jsdoc-var">Roo.form</span><span class="jsdoc-syntax">);
+                </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">],</span><span class="jsdoc-var">this.btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.xns </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Roo.form</span><span class="jsdoc-syntax">);
                 </span><span class="jsdoc-var">b.cls </span><span class="jsdoc-syntax">=  </span><span class="jsdoc-string">'x-edit-none'</span><span class="jsdoc-syntax">;
 
                 </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.btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.cls</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.cls.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-init-enable'</span><span class="jsdoc-syntax">) !== -1){
index bbff9f4..42151bc 100644 (file)
 </span><span class="jsdoc-comment">/**
  * @class Roo.form.Column
  * @extends Roo.form.Layout
+ * @children Roo.form.Row Roo.form.Field Roo.Button Roo.form.TextItem
  * Creates a column container for layout and rendering of fields in an {@link Roo.form.Form}.
  * @constructor
  * @param {Object} config Configuration options
index 844faea..711f62f 100644 (file)
 
 </span><span class="jsdoc-var">Roo.htmleditor.Block.factory </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">)
 {
+
+    </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.id</span><span class="jsdoc-syntax">;
+    </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">Roo.htmleditor.Block.cache</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">]) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.htmleditor.Block.cache</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">];
+    }
+
     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.htmleditor</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'Block' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.attr</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">)];
     </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">cls</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
         </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;OOps missing block : &quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'Block' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.attr</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">));
         </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
     }
-    </span><span class="jsdoc-keyword">return 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">node </span><span class="jsdoc-syntax">});  </span><span class="jsdoc-comment">/// should trigger update element
-</span><span class="jsdoc-syntax">}
-
+    </span><span class="jsdoc-var">Roo.htmleditor.Block.cache</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</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">node </span><span class="jsdoc-syntax">});
+    </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.htmleditor.Block.cache</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">];  </span><span class="jsdoc-comment">/// should trigger update element
+</span><span class="jsdoc-syntax">};
+</span><span class="jsdoc-comment">// question goes here... do we need to clear out this cache sometimes?
+// or show we make it relivant to the htmleditor.
+</span><span class="jsdoc-var">Roo.htmleditor.Block.cache </span><span class="jsdoc-syntax">= {};
 
 </span><span class="jsdoc-var">Roo.htmleditor.Block.prototype </span><span class="jsdoc-syntax">= {
 
@@ -60,7 +69,7 @@
     </span><span class="jsdoc-var">getVal </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">attr</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">)
     {
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">;
-        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.tagName </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">tag.toUpperCase</span><span class="jsdoc-syntax">()) {
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">true </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">n.tagName </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">tag.toUpperCase</span><span class="jsdoc-syntax">()) {
             </span><span class="jsdoc-comment">// in theory we could do figure[3] &lt;&lt; 3rd figure? or some more complex search..?
             // but kiss for now.
             </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">node.getElementsByTagName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.item</span><span class="jsdoc-syntax">(0);
     }
 
 
-}
+};
 
 </span></code></body></html>
\ No newline at end of file
index ba073a6..7a47ecb 100644 (file)
@@ -42,6 +42,7 @@
 
         // double BR.
         </span><span class="jsdoc-var">node.parentNode.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.ownerDocument.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'BR'</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">node.parentNode.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.ownerDocument.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'BR'</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-var">node.parentNode.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
 
         </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
index e86be1e..b5e706c 100644 (file)
@@ -1 +1,3 @@
-<html><head><title>Roo/htmleditor/namespace.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-var">Roo.htmleditor </span><span class="jsdoc-syntax">= {};</span></code></body></html>
\ No newline at end of file
+<html><head><title>Roo/htmleditor/namespace.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty">
+<span class="jsdoc-var">Roo.htmleditor </span><span class="jsdoc-syntax">= {};
+</span></code></body></html>
\ No newline at end of file
index 2c0a45c..2ff10c9 100644 (file)
@@ -6,7 +6,35 @@
     "Roo.util.Observable"
   ],
   "childClasses" : {  },
-  "tree_children" : [],
+  "tree_children" : [
+    "Roo.form.Row",
+    "Roo.form.Field",
+    "Roo.form.Checkbox",
+    "Roo.form.ComboBox",
+    "Roo.form.ComboBoxArray",
+    "Roo.form.ComboCheck",
+    "Roo.form.ComboNested",
+    "Roo.form.DateField",
+    "Roo.form.DayPicker",
+    "Roo.form.DisplayField",
+    "Roo.form.FCKeditor",
+    "Roo.form.GridField",
+    "Roo.form.Hidden",
+    "Roo.form.HtmlEditor",
+    "Roo.form.MonthField",
+    "Roo.form.NumberField",
+    "Roo.form.Radio",
+    "Roo.form.Select",
+    "Roo.form.Signature",
+    "Roo.form.TextArea",
+    "Roo.form.TextField",
+    "Roo.form.TriggerField",
+    "Roo.Button",
+    "Roo.SplitButton",
+    "Roo.Toolbar.Button",
+    "Roo.Toolbar.SplitButton",
+    "Roo.form.TextItem"
+  ],
   "tree_parent" : [],
   "desc" : "Creates a column container for layout and rendering of fields in an {@link Roo.form.Form}.",
   "isSingleton" : false,
index 6b7a5ab..fd8ba50 100644 (file)
@@ -29,7 +29,30 @@ Roo.onReady(function(){
                 toolbars : [    
                     {
                         xtype : 'ToolbarStandard',
-                        xns : Roo.form.HtmlEditor
+                        xns : Roo.form.HtmlEditor,
+                        btns : [
+                            {
+                                xtype : 'Button',
+                                text : "+Table",
+                                cls : 'x-init-enable',
+                                listeners : {
+                                    click : function (_self, e)
+                                    {
+                                        
+                                        var rr = new Roo.htmleditor.BlockTable({
+                                            no_row : 4,
+                                            no_col : 4
+                                        });
+                                        editor.editorcore.insertAtCursor(rr.toHTML());
+                                    
+                                 
+                                    }
+                                },
+                                xns : Roo,
+                               
+                            }
+                   
+                        ]
                     },
                       {
                         xtype : 'ToolbarContext',
@@ -38,8 +61,8 @@ Roo.onReady(function(){
                             '*' : [ 'headline' ] ,
                             'TD' : [ 'underline', 'double-underline' ]
                         }
-                    },
-                    
+                    }
+                     
                     
                 ],
                 id:'bio',