sync
authorAlan <alan@roojs.com>
Thu, 16 Dec 2021 01:57:51 +0000 (09:57 +0800)
committerAlan <alan@roojs.com>
Thu, 16 Dec 2021 01:57:51 +0000 (09:57 +0800)
43 files changed:
Roo/bootstrap/dash/namespace.js [new file with mode: 0644]
Roo/bootstrap/namespace.js [new file with mode: 0644]
Roo/data/Store.js
Roo/form/HtmlEditor/Td.js [new file with mode: 0644]
Roo/htmleditor/BlockTd.js [new file with mode: 0644]
Roo/rtf/Document.js [new file with mode: 0644]
docs/json/roodata.json
docs/src/Date.js.html
docs/src/Roo_BasicDialog.js.html
docs/src/Roo_ContentPanel.js.html
docs/src/Roo_PagingToolbar.js.html
docs/src/Roo_bootstrap_dash_namespace.js.html [new file with mode: 0644]
docs/src/Roo_bootstrap_namespace.js.html [new file with mode: 0644]
docs/src/Roo_data_Store.js.html
docs/src/Roo_form_BasicForm.js.html
docs/src/Roo_form_DateField.js.html
docs/src/Roo_form_HtmlEditor_ToolbarContext.js.html
docs/src/Roo_grid_Grid.js.html
docs/src/Roo_grid_GridView.js.html
docs/src/Roo_rtf_Ctrl.js.html [new file with mode: 0644]
docs/src/Roo_rtf_Document.js.html [new file with mode: 0644]
docs/src/Roo_rtf_Group.js.html [new file with mode: 0644]
docs/src/Roo_rtf_Hex.js.html [new file with mode: 0644]
docs/src/Roo_rtf_Paragraph.js.html [new file with mode: 0644]
docs/src/Roo_rtf_Parser.js.html [new file with mode: 0644]
docs/src/Roo_rtf_Span.js.html [new file with mode: 0644]
docs/src/Roo_rtf_namespace.js.html [new file with mode: 0644]
docs/symbols/Roo.BasicDialog.json
docs/symbols/Roo.ContentPanel.json
docs/symbols/Roo.GridPanel.json
docs/symbols/Roo.NestedLayoutPanel.json
docs/symbols/Roo.PagingToolbar.json
docs/symbols/Roo.TreePanel.json
docs/symbols/Roo.data.JsonStore.json
docs/symbols/Roo.data.SimpleStore.json
docs/symbols/Roo.data.Store.json
docs/symbols/Roo.form.DateField.json
docs/symbols/Roo.grid.Calendar.json
docs/symbols/Roo.grid.EditorGrid.json
docs/symbols/Roo.grid.Grid.json
docs/symbols/Roo.grid.PropertyGrid.json
docs/symbols/Roo.json
docs/symbols/Roo.rtf.json [new file with mode: 0644]

diff --git a/Roo/bootstrap/dash/namespace.js b/Roo/bootstrap/dash/namespace.js
new file mode 100644 (file)
index 0000000..ac99127
--- /dev/null
@@ -0,0 +1 @@
+Roo.bootstrap.dash = {};
\ No newline at end of file
diff --git a/Roo/bootstrap/namespace.js b/Roo/bootstrap/namespace.js
new file mode 100644 (file)
index 0000000..d6204e4
--- /dev/null
@@ -0,0 +1 @@
+Roo.bootstrap = {};
\ No newline at end of file
index 4d891f9..d75d308 100644 (file)
@@ -332,6 +332,16 @@ Roo.extend(Roo.data.Store, Roo.util.Observable, {
      * <p>
      * @param {Object} options An object containing properties which control loading options:<ul>
      * <li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>
+     * <li>params.data {Object} if you are using a MemoryProxy / JsonReader, use this as the data to load stuff..
+     * <pre>
+                {
+                    data : data,  // array of key=>value data like JsonReader
+                    total : data.length,
+                    success : true
+                    
+                }
+        </pre>
+            }.</li>
      * <li>callback {Function} A function to be called after the Records have been loaded. The callback is
      * passed the following arguments:<ul>
      * <li>r : Roo.data.Record[]</li>
diff --git a/Roo/form/HtmlEditor/Td.js b/Roo/form/HtmlEditor/Td.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/Roo/htmleditor/BlockTd.js b/Roo/htmleditor/BlockTd.js
new file mode 100644 (file)
index 0000000..984bb14
--- /dev/null
@@ -0,0 +1,328 @@
+/**
+ *
+ * editing a TD?
+ *
+ * since selections really work on the table cell, then editing really should work from there
+ *
+ * The original plan was to support merging etc... - but that may not be needed yet..
+ *
+ * So this simple version will support:
+ *   add/remove cols
+ *   adjust the width +/-
+ *   reset the width...
+ *   
+ *
+ */
+
+
+
+/**
+ * @class Roo.htmleditor.BlockTable
+ * Block that manages a table
+ * 
+ * @constructor
+ * Create a new Filter.
+ * @param {Object} config Configuration options
+ */
+
+Roo.htmleditor.BlockTd = function(cfg)
+{
+    if (cfg.node) {
+        this.readElement(cfg.node);
+        this.updateElement(cfg.node);
+    }
+    Roo.apply(this, cfg);
+     
+    
+    
+}
+Roo.extend(Roo.htmleditor.BlockTd, Roo.htmleditor.Block, {
+    node : false,
+    width: '',
+    
+    table_width : '',
+    textAlign : 'left',
+    
+    colspan : 1,
+    rowspan : 1,
+    
+    
+    // used by context menu
+    friendly_name : 'Table Cell',
+    
+    // context menu is drawn once..
+    
+    contextMenu : function(toolbar)
+    {
+        
+        var cell = function() {
+            return Roo.htmleditor.Block.factory(toolbar.tb.selectedNode);
+        };
+        
+        var table = function() {
+            return Roo.htmleditor.Block.factory(Roo.get(toolbar.tb.selectedNode).findParent('table'));
+        };
+        
+        var lr = false;
+        var saveSel = function()
+        {
+            lr = toolbar.editorcore.getSelection().getRangeAt(0);
+        }
+        var restoreSel = function()
+        {
+            if (lr) {
+                (function() {
+                    toolbar.editorcore.focus();
+                    var cr = toolbar.editorcore.getSelection();
+                    cr.removeAllRanges();
+                    cr.addRange(lr);    
+                }).defer(10, this);
+                
+                
+            }
+        }
+        
+        var rooui =  typeof(Roo.bootstrap) == 'undefined' ? Roo : Roo.bootstrap;
+        
+        var syncValue = toolbar.editorcore.syncValue;
+        
+        var fields = {};
+        
+        return [
+             {
+                xtype : 'TextItem',
+                text : "Table Width: ",
+                xns : rooui.Toolbar  //Boostrap?
+            },
+            {
+                xtype : 'ComboBox',
+                allowBlank : false,
+                displayField : 'val',
+                editable : true,
+                listWidth : 100,
+                triggerAction : 'all',
+                typeAhead : true,
+                valueField : 'val',
+                width : 100,
+                name : 'table_width',
+                listeners : {
+                    select : function (combo, r, index)
+                    {
+                        var b = block();
+                        b.table_width = r.get('val');
+                        var t = table();
+                        
+                        b.updateElement();
+                        syncValue();
+                        
+                    }
+                },
+                xns : rooui.form,
+                store : {
+                    xtype : 'SimpleStore',
+                    data : [
+                        ['100%'],
+                        ['auto']
+                    ],
+                    fields : [ 'val'],
+                    xns : Roo.data
+                }
+            },
+            // -------- Cols
+            
+            {
+                xtype : 'TextItem',
+                text : "Columns: ",
+                xns : rooui.Toolbar  //Boostrap?
+            },
+         
+            {
+                xtype : 'Button',
+                text: '-',
+                listeners : {
+                    click : function (_self, e)
+                    {
+                        saveSel();
+                        table().removeColumn();
+                        syncValue();
+                        restoreSel();
+                    }
+                },
+                xns : rooui.Toolbar
+            },
+            {
+                xtype : 'Button',
+                text: '+',
+                listeners : {
+                    click : function (_self, e)
+                    {
+                         saveSel();
+                        table().addColumn();
+                        syncValue();
+                        restoreSel();
+                    }
+                },
+                xns : rooui.Toolbar
+            },
+            // -------- ROWS
+            {
+                xtype : 'TextItem',
+                text : "Rows: ",
+                xns : rooui.Toolbar  //Boostrap?
+            },
+         
+            {
+                xtype : 'Button',
+                text: '-',
+                listeners : {
+                    click : function (_self, e)
+                    {
+                        saveSel();
+                        table().removeRow();
+                        syncValue();
+                        restoreSel();
+                                         
+                    }
+                },
+                xns : rooui.Toolbar
+            },
+            {
+                xtype : 'Button',
+                text: '+',
+                listeners : {
+                    click : function (_self, e)
+                    {
+                        saveSel();
+                        table().addRow();
+                        syncValue();
+                        restoreSel();
+                    }
+                },
+                xns : rooui.Toolbar
+            },
+            // -------- ROWS
+            {
+                xtype : 'Button',
+                text: 'Reset Column Widths',
+                listeners : {
+                    
+                    click : function (_self, e)
+                    {
+                       saveSel();
+                        block().resetWidths();
+                        restoreSel();
+                    }
+                },
+                xns : rooui.Toolbar
+            },
+             
+            {
+                xtype : 'TextItem',
+                text : "Column Width: ",
+                 xns : rooui.Toolbar 
+               
+            },
+            {
+                xtype : 'Button',
+                text: '-',
+                listeners : {
+                    click : function (_self, e)
+                    {
+                        saveSel();
+                        block().shrinkColumn();
+                        syncValue();
+                        restoreSel();
+                    }
+                },
+                xns : rooui.Toolbar
+            },
+            {
+                xtype : 'Button',
+                text: '+',
+                listeners : {
+                    click : function (_self, e)
+                    {
+                        saveSel();
+                        block().growColumn();
+                        syncValue();
+                        restoreSel();
+                    }
+                },
+                xns : rooui.Toolbar
+            },
+           
+            
+            // align... << fixme
+            
+        ];
+        
+    },
+    
+    
+  /**
+     * create a DomHelper friendly object - for use with
+     * Roo.DomHelper.markup / overwrite / etc..
+     * ?? should it be called with option to hide all editing features?
+     */
+ /**
+     * create a DomHelper friendly object - for use with
+     * Roo.DomHelper.markup / overwrite / etc..
+     * ?? should it be called with option to hide all editing features?
+     */
+    toObject : function()
+    {
+        
+        var ret = {
+            tag : 'td',
+            contenteditable : 'true', // this stops cell selection from picking the table.
+            'data-block' : 'Td',
+            style : {
+                width:  this.width,
+                'text-align' :  this.textAlign,
+                border : 'solid 1px #000', // ??? hard coded?
+                'border-collapse' : 'collapse',
+            },
+            html : this.html
+        };
+        
+        if (this.colspan > 1) {
+            ret.colspan = cell.colspan ;
+        } 
+        if (ret.rowspan > 1) {
+            this.rowspan = cell.rowspan ;
+        }
+        
+           
+        
+        return ret;
+         
+    },
+    
+    readElement : function(node)
+    {
+        node  = node ? node : this.node ;
+        this.width = this.getVal(node, true, 'style', 'width');
+        this.table_width = this.getVal(Roo.get(node).findParent('table'), true, 'style', 'width');
+        this.html = node.innerHTML;
+        
+        
+    },
+     
+    // the default cell object... at present...
+    emptyCell : function() {
+        return {
+            colspan :  1,
+            rowspan :  1,
+            textAlign : 'left',
+            html : "&nbsp;" // is this going to be editable now?
+        };
+     
+    }
+    
+    
+    
+    
+})
+
diff --git a/Roo/rtf/Document.js b/Roo/rtf/Document.js
new file mode 100644 (file)
index 0000000..ee130df
--- /dev/null
@@ -0,0 +1,46 @@
+
+// this looks like it's normally the {rtf{ .... }}
+Roo.rtf.Document = function()
+{
+    // we dont want to acutally store parent - it will make debug a nightmare..
+    this.rtlch  = [];
+    this.content = [];
+    this.cn = [];
+    
+};
+Roo.extend(Roo.rtf.Document, Roo.rtf.Group, { 
+    addChild : function(cn)
+    {
+        this.cn.push(cn);
+        switch(cn.type) {
+            case 'rtlch': // most content seems to be inside this??
+            case 'listtext':
+            case 'shpinst':
+                this.rtlch.push(cn);
+                return;
+            default:
+                this[cn.type] = cn;
+        }
+        
+    },
+    
+    getElementsByType : function(type)
+    {
+        var ret =  [];
+        this._getElementsByType(type, ret, this.cn, 'rtf');
+        return ret;
+    },
+    _getElementsByType : function (type, ret, search_array, path)
+    {
+        search_array.forEach(function(n,i) {
+            if (n.type == type) {
+                n.path = path + '/' + n.type + ':' + i;
+                ret.push(n);
+            }
+            if (n.cn.length > 0) {
+                this._getElementsByType(type, ret, n.cn, path + '/' + n.type+':'+i);
+            }
+        },this);
+    }
+    
+});
index ca0de6a..4969f7c 100644 (file)
     "tree_parent" : []
   },
   "Roo" : {
-    "props" : [],
+    "props" : [
+      {
+        "name" : "Roo.BorderLayout}",
+        "type" : "",
+        "desc" : "layout   [required] The layout for this panel",
+        "memberOf" : ""
+      },
+      {
+        "name" : "grid",
+        "type" : "Roo.grid.Grid",
+        "desc" : "The grid for this panel",
+        "memberOf" : ""
+      }
+    ],
     "events" : [],
     "methods" : [
       {
       "Roo.LayoutDialog"
     ],
     "tree_children" : [],
-    "tree_parent" : []
+    "tree_parent" : [
+      "none",
+      "builder"
+    ]
   },
   "Roo.BasicLayoutRegion" : {
     "props" : [
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "[required]   (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+        "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
         "memberOf" : ""
       },
       {
     "tree_parent" : [
       "Roo.BorderLayout",
       "Roo.LayoutDialog",
-      "builder-top"
+      "builder"
     ]
   },
   "Roo.DDView" : {
         "desc" : "True for this panel to adjust its size to fit when the region resizes  (defaults to false)",
         "memberOf" : "Roo.ContentPanel"
       },
+      {
+        "name" : "grid",
+        "type" : "Roo.grid.Grid",
+        "desc" : "The grid for this panel",
+        "memberOf" : "Roo"
+      },
       {
         "name" : "listeners",
         "type" : "Object",
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "[required]   (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+        "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
         "memberOf" : "Roo.ContentPanel"
       },
       {
     "isBuilderTop" : false,
     "implementations" : [],
     "tree_children" : [],
-    "tree_parent" : []
+    "tree_parent" : [
+      "Roo.BorderLayout",
+      "Roo.LayoutDialog",
+      "builder"
+    ]
   },
   "Roo.HtmlEditorCore" : {
     "props" : [
   },
   "Roo.NestedLayoutPanel" : {
     "props" : [
+      {
+        "name" : "Roo.BorderLayout}",
+        "type" : "",
+        "desc" : "layout   [required] The layout for this panel",
+        "memberOf" : "Roo"
+      },
       {
         "name" : "adjustments",
         "type" : "Array",
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "[required]   (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+        "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
         "memberOf" : "Roo.ContentPanel"
       },
       {
     "isBuilderTop" : false,
     "implementations" : [],
     "tree_children" : [],
-    "tree_parent" : []
+    "tree_parent" : [
+      "Roo.BorderLayout",
+      "Roo.LayoutDialog",
+      "builder"
+    ]
   },
   "Roo.PagingToolbar" : {
     "props" : [
       "Roo.Toolbar.Separator",
       "Roo.Toolbar.Spacer",
       "Roo.Toolbar.TextItem",
+      "Roo.Toolbar.Button",
+      "Roo.Toolbar.SplitButton",
       "Roo.form.Field",
       "Roo.form.Checkbox",
       "Roo.form.ComboBox",
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "[required]   (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+        "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
         "memberOf" : "Roo.ContentPanel"
       },
       {
     "isBuilderTop" : false,
     "implementations" : [],
     "tree_children" : [],
-    "tree_parent" : []
+    "tree_parent" : [
+      "Roo.BorderLayout",
+      "Roo.LayoutDialog",
+      "builder"
+    ]
   },
   "Roo.UpdateManager" : {
     "props" : [
           {
             "name" : "options",
             "type" : "Object",
-            "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
+            "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>params.data {Object} if you are using a MemoryProxy / JsonReader, use this as the data to load stuff..\n<pre>\n                {\n                    data : data,  // array of key=>value data like JsonReader\n                    total : data.length,\n                    success : true\n                    \n                }\n        </pre>\n            }.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
             "isOptional" : false
           }
         ],
           {
             "name" : "options",
             "type" : "Object",
-            "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
+            "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>params.data {Object} if you are using a MemoryProxy / JsonReader, use this as the data to load stuff..\n<pre>\n                {\n                    data : data,  // array of key=>value data like JsonReader\n                    total : data.length,\n                    success : true\n                    \n                }\n        </pre>\n            }.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
             "isOptional" : false
           }
         ],
           {
             "name" : "options",
             "type" : "Object",
-            "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
+            "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>params.data {Object} if you are using a MemoryProxy / JsonReader, use this as the data to load stuff..\n<pre>\n                {\n                    data : data,  // array of key=>value data like JsonReader\n                    total : data.length,\n                    success : true\n                    \n                }\n        </pre>\n            }.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
             "isOptional" : false
           }
         ],
         "type" : "Number",
         "desc" : "width (optional) size of component",
         "memberOf" : "Roo.BoxComponent"
+      },
+      {
+        "name" : "zeroValue",
+        "type" : "Date/String",
+        "desc" : "if the date is less that this number, then the field is rendered as empty\ndefault is 1800",
+        "memberOf" : ""
       }
     ],
     "events" : [
         "desc" : "The selection Model (default = Roo.grid.RowSelectionModel)",
         "memberOf" : "Roo.grid.Grid"
       },
+      {
+        "name" : "sortColMenu",
+        "type" : "boolean",
+        "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
+        "memberOf" : "Roo.grid.Grid"
+      },
       {
         "name" : "stripeRows",
         "type" : "Boolean",
         "desc" : "The selection Model (default = Roo.grid.RowSelectionModel)",
         "memberOf" : "Roo.grid.Grid"
       },
+      {
+        "name" : "sortColMenu",
+        "type" : "boolean",
+        "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
+        "memberOf" : "Roo.grid.Grid"
+      },
       {
         "name" : "stripeRows",
         "type" : "Boolean",
         "desc" : "The selection Model (default = Roo.grid.RowSelectionModel)",
         "memberOf" : ""
       },
+      {
+        "name" : "sortColMenu",
+        "type" : "boolean",
+        "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
+        "memberOf" : ""
+      },
       {
         "name" : "stripeRows",
         "type" : "Boolean",
         "desc" : "The selection Model (default = Roo.grid.RowSelectionModel)",
         "memberOf" : "Roo.grid.Grid"
       },
+      {
+        "name" : "sortColMenu",
+        "type" : "boolean",
+        "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
+        "memberOf" : "Roo.grid.Grid"
+      },
       {
         "name" : "stripeRows",
         "type" : "Boolean",
index e90aa3d..274cd35 100644 (file)
@@ -301,17 +301,17 @@ dt = Date.parseDate(&quot;2006-1-15 3:20:01 PM&quot;, &quot;Y-m-d h:i:s A&quot;
     }
 
     </span><span class="jsdoc-var">code </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">&quot;if (y &gt;= 0 &amp;&amp; m &gt;= 0 &amp;&amp; d &gt; 0 &amp;&amp; h &gt;= 0 &amp;&amp; i &gt;= 0 &amp;&amp; s &gt;= 0)\n&quot;
-        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y, m, d, h, i, s);}\n&quot;
+        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y, m, d, h, i, s); v.setFullYear(y);}\n&quot;
         </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;else if (y &gt;= 0 &amp;&amp; m &gt;= 0 &amp;&amp; d &gt; 0 &amp;&amp; h &gt;= 0 &amp;&amp; i &gt;= 0)\n&quot;
-        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y, m, d, h, i);}\n&quot;
+        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y, m, d, h, i); v.setFullYear(y);}\n&quot;
         </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;else if (y &gt;= 0 &amp;&amp; m &gt;= 0 &amp;&amp; d &gt; 0 &amp;&amp; h &gt;= 0)\n&quot;
-        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y, m, d, h);}\n&quot;
+        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y, m, d, h); v.setFullYear(y);}\n&quot;
         </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;else if (y &gt;= 0 &amp;&amp; m &gt;= 0 &amp;&amp; d &gt; 0)\n&quot;
-        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y, m, d);}\n&quot;
+        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y, m, d); v.setFullYear(y);}\n&quot;
         </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;else if (y &gt;= 0 &amp;&amp; m &gt;= 0)\n&quot;
-        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y, m);}\n&quot;
+        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y, m); v.setFullYear(y);}\n&quot;
         </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;else if (y &gt;= 0)\n&quot;
-        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y);}\n&quot;
+        </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;{v = new Date(y); v.setFullYear(y);}\n&quot;
         </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;}return (v &amp;&amp; (z || o))?\n&quot; </span><span class="jsdoc-comment">// favour UTC offset over GMT offset
         </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;    ((z)? v.add(Date.SECOND, (v.getTimezoneOffset() * 60) + (z*1)) :\n&quot; </span><span class="jsdoc-comment">// reset to UTC, then add offset
         </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;        v.add(Date.HOUR, (v.getGMTOffset() / 100) + (o / -100))) : v\n&quot; </span><span class="jsdoc-comment">// reset to GMT, then add offset
@@ -371,7 +371,7 @@ dt = Date.parseDate(&quot;2006-1-15 3:20:01 PM&quot;, &quot;Y-m-d h:i:s A&quot;
             </span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;(\\d{1,2})&quot;</span><span class="jsdoc-syntax">}; </span><span class="jsdoc-comment">// Numeric representation of a month, without leading zeros
     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;m&quot;</span><span class="jsdoc-syntax">:
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">:1,
-            </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;m = parseInt(results[&quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">currentGroup </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;], 10) - 1;\n&quot;</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;m = Math.max(0,parseInt(results[&quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">currentGroup </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;], 10) - 1);\n&quot;</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;(\\d{2})&quot;</span><span class="jsdoc-syntax">}; </span><span class="jsdoc-comment">// Numeric representation of a month, with leading zeros
     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;t&quot;</span><span class="jsdoc-syntax">:
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">:0,
index 720fa1d..69c3177 100644 (file)
@@ -12,6 +12,7 @@
 /**
  * @class Roo.BasicDialog
  * @extends Roo.util.Observable
+ * @parent none builder
  * Lightweight Dialog Class.  The code below shows the creation of a typical dialog using existing HTML markup:
  * &lt;pre&gt;&lt;code&gt;
 var dlg = new Roo.BasicDialog(&quot;my-dlg&quot;, {
index b380b8f..1684276 100644 (file)
@@ -12,7 +12,7 @@
  * @class Roo.ContentPanel
  * @extends Roo.util.Observable
  * @children Roo.form.Form Roo.JsonView Roo.View
- * @parent Roo.BorderLayout Roo.LayoutDialog builder-top
+ * @parent Roo.BorderLayout Roo.LayoutDialog builder
  * A basic ContentPanel element.
  * @cfg {Boolean}   fitToFrame    True for this panel to adjust its size to fit when the region resizes  (defaults to false)
  * @cfg {Boolean}   fitContainer   When using {@link #fitToFrame} and {@link #resizeEl}, you can also fit the parent container  (defaults to false)
@@ -25,7 +25,7 @@
  * @cfg {String} title          The title for this panel
  * @cfg {Array} adjustments     Values to &lt;b&gt;add&lt;/b&gt; to the width/height when doing a {@link #fitToFrame} (default is [0, 0])
  * @cfg {String} url            Calls {@link #setUrl} with this value
- * @cfg {String} region [required]   (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)
+ * @cfg {String} region (center|north|south|east|west) [required] which region to put this panel on (when used with xtype constructors)
  * @cfg {String|Object} params  When used with {@link #url}, calls {@link #setUrl} with this value
  * @cfg {Boolean} loadOnce      When used with {@link #url}, calls {@link #setUrl} with this value
  * @cfg {String}    content        Raw content to fill content panel with (uses setContent on construction.)
@@ -463,14 +463,18 @@ layout.addxtype({
 </span><span class="jsdoc-comment">/**
  * @class Roo.GridPanel
  * @extends Roo.ContentPanel
+ * @parent Roo.BorderLayout Roo.LayoutDialog builder
  * @constructor
  * Create a new GridPanel.
- * @param {Roo.grid.Grid} grid The grid for this panel
- * @param {String/Object} config A string to set only the panel's title, or a config object
+ * @cfg {Roo.grid.Grid} grid The grid for this panel
  */
 </span><span class="jsdoc-var">Roo.GridPanel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">grid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
 
-
+    </span><span class="jsdoc-comment">// universal ctor...
+    </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">grid.grid</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
+        </span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">grid</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-var">grid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.grid</span><span class="jsdoc-syntax">;
+    }
     </span><span class="jsdoc-var">this.wrapper </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.DomHelper.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">// wrapper for IE7 strict &amp; safari scroll issue
         </span><span class="jsdoc-syntax">{</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;x-layout-grid-wrapper x-layout-inactive-content&quot;</span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
 
@@ -538,6 +542,10 @@ layout.addxtype({
 </span><span class="jsdoc-comment">/**
  * @class Roo.NestedLayoutPanel
  * @extends Roo.ContentPanel
+ * @parent Roo.BorderLayout Roo.LayoutDialog builder
+ * @cfg Roo.BorderLayout} layout   [required] The layout for this panel
+ *
+ * 
  * @constructor
  * Create a new NestedLayoutPanel.
  * 
@@ -726,6 +734,7 @@ panel.addxtype({
 </span><span class="jsdoc-comment">/**
  * @class Roo.TreePanel
  * @extends Roo.ContentPanel
+ * @parent Roo.BorderLayout Roo.LayoutDialog builder
  * Treepanel component
  * 
  * @constructor
index 18e5c2c..888bc52 100644 (file)
@@ -12,7 +12,7 @@
 /**
  * @class Roo.PagingToolbar
  * @extends Roo.Toolbar
- * @children   Roo.Toolbar.Item Roo.form.Field
+ * @children   Roo.Toolbar.Item Roo.Toolbar.Button Roo.Toolbar.SplitButton Roo.form.Field
  * A specialized toolbar that is bound to a {@link Roo.data.Store} and provides automatic paging controls.
  * @constructor
  * Create a new PagingToolbar
diff --git a/docs/src/Roo_bootstrap_dash_namespace.js.html b/docs/src/Roo_bootstrap_dash_namespace.js.html
new file mode 100644 (file)
index 0000000..979d271
--- /dev/null
@@ -0,0 +1 @@
+<html><head><title>Roo/bootstrap/dash/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.bootstrap.dash </span><span class="jsdoc-syntax">= {};</span></code></body></html>
\ No newline at end of file
diff --git a/docs/src/Roo_bootstrap_namespace.js.html b/docs/src/Roo_bootstrap_namespace.js.html
new file mode 100644 (file)
index 0000000..6fdd7cd
--- /dev/null
@@ -0,0 +1 @@
+<html><head><title>Roo/bootstrap/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.bootstrap </span><span class="jsdoc-syntax">= {};</span></code></body></html>
\ No newline at end of file
index 1a6c657..cb914e5 100644 (file)
      * &lt;p&gt;
      * @param {Object} options An object containing properties which control loading options:&lt;ul&gt;
      * &lt;li&gt;params {Object} An object containing properties to pass as HTTP parameters to a remote data source.&lt;/li&gt;
+     * &lt;li&gt;params.data {Object} if you are using a MemoryProxy / JsonReader, use this as the data to load stuff..
+     * &lt;pre&gt;
+                {
+                    data : data,  // array of key=&gt;value data like JsonReader
+                    total : data.length,
+                    success : true
+                    
+                }
+        &lt;/pre&gt;
+            }.&lt;/li&gt;
      * &lt;li&gt;callback {Function} A function to be called after the Records have been loaded. The callback is
      * passed the following arguments:&lt;ul&gt;
      * &lt;li&gt;r : Roo.data.Record[]&lt;/li&gt;
index a79bdfd..949b61b 100644 (file)
@@ -549,12 +549,13 @@ clientValidation  Boolean          Applies to submit only.  Pass true to call fo
      * @param {Boolean} asString
      * @return {Object}
      */
-    </span><span class="jsdoc-var">getValues </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">asString</span><span class="jsdoc-syntax">){
+    </span><span class="jsdoc-var">getValues </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">asString</span><span class="jsdoc-syntax">)
+    {
         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.childForms</span><span class="jsdoc-syntax">) {
             </span><span class="jsdoc-comment">// copy values from the child forms
             </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.childForms</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">this.setValues</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.getValues</span><span class="jsdoc-syntax">());
-            }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+                </span><span class="jsdoc-var">this.setValues</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.getFieldValues</span><span class="jsdoc-syntax">()); </span><span class="jsdoc-comment">// get the full set of data, as we might be copying comboboxes from external into this one.
+            </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
         }
 
         </span><span class="jsdoc-comment">// use formdata
@@ -595,7 +596,7 @@ clientValidation  Boolean          Applies to submit only.  Pass true to call fo
             // should this call getFieldValues - probably not as we do not currently copy
             // hidden fields when we generate..
             </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.childForms</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">this.setValues</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.getValues</span><span class="jsdoc-syntax">());
+                </span><span class="jsdoc-var">this.setValues</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.getFieldValues</span><span class="jsdoc-syntax">());
             }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
         }
 
index 21968c6..7fe3e90 100644 (file)
      * The tooltip text to display when the date falls on a disabled date (defaults to 'Disabled')
      */
     </span><span class="jsdoc-var">disabledDatesText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Disabled&quot;</span><span class="jsdoc-syntax">,
+
+
+       </span><span class="jsdoc-comment">/**
+     * @cfg {Date/String} zeroValue
+     * if the date is less that this number, then the field is rendered as empty
+     * default is 1800
+     */
+       </span><span class="jsdoc-var">zeroValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'1800-01-01'</span><span class="jsdoc-syntax">,
+
+
     </span><span class="jsdoc-comment">/**
      * @cfg {Date/String} minValue
      * The minimum allowed date. Can be either a Javascript date object or a string date in a
@@ -273,6 +283,15 @@ dateField.setValue('2006-5-4');
 
     </span><span class="jsdoc-comment">// private
     </span><span class="jsdoc-var">parseDate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">){
+
+               </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">) {
+                       </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.zeroValue</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Y-m-d'</span><span class="jsdoc-syntax">) ) {
+                               </span><span class="jsdoc-keyword">return  </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+                       }
+                       </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">;
+               }
+
+
         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">value </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">){
             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">;
         }
@@ -288,6 +307,9 @@ dateField.setValue('2006-5-4');
                 </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.altFormatsArray</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
             }
         }
+               </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.zeroValue</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Y-m-d'</span><span class="jsdoc-syntax">) ) {
+                       </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+               }
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
     },
 
index d26034b..8d1f5d0 100644 (file)
 
 
 </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarContext.types </span><span class="jsdoc-syntax">= {
-    </span><span class="jsdoc-string">'IMG' </span><span class="jsdoc-syntax">: {
-        </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
+    </span><span class="jsdoc-string">'IMG' </span><span class="jsdoc-syntax">: [
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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
         },
-        </span><span class="jsdoc-var">height</span><span class="jsdoc-syntax">:  {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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
         },
-        </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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;right&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;top&quot;</span><span class="jsdoc-syntax">]],
             </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: 80
 
         },
-        </span><span class="jsdoc-var">border</span><span class="jsdoc-syntax">: {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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">: 40
         },
-        </span><span class="jsdoc-var">alt</span><span class="jsdoc-syntax">: {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'alt'</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Alt&quot;</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
         },
-        </span><span class="jsdoc-var">src </span><span class="jsdoc-syntax">: {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'src'</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Src&quot;</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 220
         }
 
-    },
+    ],
 
-    </span><span class="jsdoc-string">'FIGURE' </span><span class="jsdoc-syntax">: {
-         </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">: {
+    </span><span class="jsdoc-string">'FIGURE' </span><span class="jsdoc-syntax">: [
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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;right&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;top&quot;</span><span class="jsdoc-syntax">]],
             </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: 80
         }
-    },
-    </span><span class="jsdoc-string">'A' </span><span class="jsdoc-syntax">: {
-        </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
+    ],
+    </span><span class="jsdoc-string">'A' </span><span class="jsdoc-syntax">: [
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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">width</span><span class="jsdoc-syntax">: 50
         },
-        </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">:  {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'target'</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Target&quot;</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
         },
-        </span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">:  {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'href'</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Href&quot;</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 220
         } </span><span class="jsdoc-comment">// border?
 
-    </span><span class="jsdoc-syntax">},
-    </span><span class="jsdoc-comment">/*
-    'TABLE' : {
-        rows : {
-            title: &quot;Rows&quot;,
-            width: 20
-        },
-        cols : {
-            title: &quot;Cols&quot;,
-            width: 20
-        },
-        width : {
-            title: &quot;Width&quot;,
-            width: 40
-        },
-        height : {
-            title: &quot;Height&quot;,
-            width: 40
-        },
-        border : {
-            title: &quot;Border&quot;,
-            width: 20
-        }
-    },
-    'TD' : {
-        width : {
-            title: &quot;Width&quot;,
-            width: 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
-        },
-        valign: {
-            title: &quot;Valign&quot;,
-            opts : [[&quot;&quot;],[ &quot;top&quot;],[ &quot;middle&quot;],[ &quot;bottom&quot;],[ &quot;baseline&quot;]],
-            width: 80
-        },
-        colspan: {
-            title: &quot;Colspan&quot;,
-            width: 20
-            
-        },
-         '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-syntax">],
+
+    </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-string">'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">width</span><span class="jsdoc-syntax">: 120
         },
-        </span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">: {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'value'</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Value&quot;</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
         },
-        </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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
         }
-    },
-    </span><span class="jsdoc-string">'LABEL' </span><span class="jsdoc-syntax">: {
-        </span><span class="jsdoc-string">'for' </span><span class="jsdoc-syntax">: {
+    ],
+    </span><span class="jsdoc-string">'LABEL' </span><span class="jsdoc-syntax">: [
+         {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'for'</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;For&quot;</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 120
         }
-    },
-    </span><span class="jsdoc-string">'TEXTAREA' </span><span class="jsdoc-syntax">: {
-        </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
+    ],
+    </span><span class="jsdoc-string">'TEXTAREA' </span><span class="jsdoc-syntax">: [
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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">width</span><span class="jsdoc-syntax">: 120
         },
-        </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">: {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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-var">cols </span><span class="jsdoc-syntax">: {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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
         }
-    },
-    </span><span class="jsdoc-string">'SELECT' </span><span class="jsdoc-syntax">: {
-        </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: {
+    ],
+    </span><span class="jsdoc-string">'SELECT' </span><span class="jsdoc-syntax">: [
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'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">width</span><span class="jsdoc-syntax">: 120
         },
-        </span><span class="jsdoc-var">selectoptions </span><span class="jsdoc-syntax">: {
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'selectoptions'</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Options&quot;</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 200
         }
-    },
+    ],
 
     </span><span class="jsdoc-comment">// should we really allow this??
     // should this just be 
-    </span><span class="jsdoc-string">'BODY' </span><span class="jsdoc-syntax">: {
-        </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">: {
+    </span><span class="jsdoc-string">'BODY' </span><span class="jsdoc-syntax">: [
+
+        {
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'title'</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Title&quot;</span><span class="jsdoc-syntax">,
             </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: 200,
             </span><span class="jsdoc-var">disabled </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
         </span><span class="jsdoc-syntax">}
-    },
-    </span><span class="jsdoc-comment">/*
-    'SPAN' : {
-        'font-family'  : {
-            title : &quot;Font&quot;,
-            style : 'fontFamily',
-            displayField: 'display',
-            optname : 'font-family',
-            width: 140
-        }
-    },
-    'DIV' : {
-        'font-family'  : {
-            title : &quot;Font&quot;,
-            style : 'fontFamily',
-            displayField: 'display',
-            optname : 'font-family',
-            width: 140
-        }
-    },
-     'P' : {
-        'font-family'  : {
-            title : &quot;Font&quot;,
-            style : 'fontFamily',
-            displayField: 'display',
-            optname : 'font-family',
-            width: 140
-        }
-    },
-    */
-    </span><span class="jsdoc-string">'*' </span><span class="jsdoc-syntax">: {
-        </span><span class="jsdoc-comment">// empty..
-    </span><span class="jsdoc-syntax">}
+    ],
+
+    </span><span class="jsdoc-string">'*' </span><span class="jsdoc-syntax">: [
+        </span><span class="jsdoc-comment">// empty.
+    </span><span class="jsdoc-syntax">]
 
 };
 
         </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">;
 
 
-        </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-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">tlist.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</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">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">],
                         </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">opts
                     </span><span class="jsdoc-syntax">}),
-                    </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">,
+                    </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">tlist</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.name</span><span class="jsdoc-syntax">,
 
-                    </span><span class="jsdoc-var">attrname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">,
+                    </span><span class="jsdoc-var">attrname </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">.name</span><span class="jsdoc-syntax">,
                     </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">,
 
                     </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">,
                     </span><span class="jsdoc-var">valueField </span><span class="jsdoc-syntax">:  </span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">,
                     </span><span class="jsdoc-var">typeAhead</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
-                    </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">,
+                    </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">tlist</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.name</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">,
                     </span><span class="jsdoc-var">editable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
                     </span><span class="jsdoc-var">triggerAction</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">,
                     </span><span class="jsdoc-var">emptyText</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'Select'</span><span class="jsdoc-syntax">,
                 */
             </span><span class="jsdoc-syntax">}
             </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">({
-                </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">,
-                </span><span class="jsdoc-var">attrname </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">,
+                </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">tlist</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.name</span><span class="jsdoc-syntax">,
+                </span><span class="jsdoc-var">attrname </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">.name</span><span class="jsdoc-syntax">,
 
                 </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-comment">//allowBlank:true,
             </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
                 </span><span class="jsdoc-var">click </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </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">block</span><span class="jsdoc-syntax">) {
+                        </span><span class="jsdoc-var">sn </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">)</span><span class="jsdoc-var">.removalNode</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">;
                     }
index 91c5891..fa07f37 100644 (file)
     * @cfg {Roo.dd.DropTarget} dropTarget An {@link Roo.dd.DropTarget} config
     */
     </span><span class="jsdoc-var">dropTarget</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
-
-
+     </span><span class="jsdoc-comment">/**
+    * @cfg {boolean} sortColMenu Sort the column order menu when it shows (usefull for long lists..) default false
+    */
+    </span><span class="jsdoc-var">sortColMenu </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
 
     </span><span class="jsdoc-comment">// private
     </span><span class="jsdoc-var">rendered </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
index dbc0949..e8021b8 100644 (file)
     </span><span class="jsdoc-var">beforeColMenuShow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm</span><span class="jsdoc-syntax">,  </span><span class="jsdoc-var">colCount </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">();
         </span><span class="jsdoc-var">this.colMenu.removeAll</span><span class="jsdoc-syntax">();
+
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">items </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">colCount</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
-            </span><span class="jsdoc-var">this.colMenu.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.menu.CheckItem</span><span class="jsdoc-syntax">({
+            </span><span class="jsdoc-var">items.push</span><span class="jsdoc-syntax">({
                 </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;col-&quot;</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">cm.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">),
                 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cm.getColumnHeader</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">),
                 </span><span class="jsdoc-var">checked</span><span class="jsdoc-syntax">: !</span><span class="jsdoc-var">cm.isHidden</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">),
                 </span><span class="jsdoc-var">hideOnClick</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">false
-            </span><span class="jsdoc-syntax">}));
+            </span><span class="jsdoc-syntax">});
+        }
+
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.sortColMenu</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">items.sort</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">b</span><span class="jsdoc-syntax">) {
+                </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.text </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">b.text</span><span class="jsdoc-syntax">) {
+                    </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">0;
+                }
+                </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">a.text.toUpperCase</span><span class="jsdoc-syntax">() &gt; </span><span class="jsdoc-var">b.text.toUpperCase</span><span class="jsdoc-syntax">() ? 1 : -1;
+            });
+        }
+
+        </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">colCount</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+            </span><span class="jsdoc-var">this.colMenu.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.menu.CheckItem</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">items</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]));
         }
     },
 
diff --git a/docs/src/Roo_rtf_Ctrl.js.html b/docs/src/Roo_rtf_Ctrl.js.html
new file mode 100644 (file)
index 0000000..d71c33a
--- /dev/null
@@ -0,0 +1,7 @@
+<html><head><title>Roo/rtf/Ctrl.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.rtf.Ctrl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">opts</span><span class="jsdoc-syntax">)
+{
+    </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">opts.value</span><span class="jsdoc-syntax">;
+    </span><span class="jsdoc-var">this.param </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">opts.param</span><span class="jsdoc-syntax">;
+};
+</span></code></body></html>
\ No newline at end of file
diff --git a/docs/src/Roo_rtf_Document.js.html b/docs/src/Roo_rtf_Document.js.html
new file mode 100644 (file)
index 0000000..57ac569
--- /dev/null
@@ -0,0 +1,47 @@
+<html><head><title>Roo/rtf/Document.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">// this looks like it's normally the {rtf{ .... }}
+</span><span class="jsdoc-var">Roo.rtf.Document </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
+{
+    </span><span class="jsdoc-comment">// we dont want to acutally store parent - it will make debug a nightmare..
+    </span><span class="jsdoc-var">this.rtlch  </span><span class="jsdoc-syntax">= [];
+    </span><span class="jsdoc-var">this.content </span><span class="jsdoc-syntax">= [];
+    </span><span class="jsdoc-var">this.cn </span><span class="jsdoc-syntax">= [];
+
+};
+</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.rtf.Document</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.rtf.Group</span><span class="jsdoc-syntax">, {
+    </span><span class="jsdoc-var">addChild </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-var">this.cn.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn.type</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'rtlch'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-comment">// most content seems to be inside this??
+            </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'listtext'</span><span class="jsdoc-syntax">:
+            </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'shpinst'</span><span class="jsdoc-syntax">:
+                </span><span class="jsdoc-var">this.rtlch.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">);
+                </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-keyword">default</span><span class="jsdoc-syntax">:
+                </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">cn.type</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">;
+        }
+
+    },
+
+    </span><span class="jsdoc-var">getElementsByType </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret </span><span class="jsdoc-syntax">=  [];
+        </span><span class="jsdoc-var">this._getElementsByType</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.cn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'rtf'</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">;
+    },
+    </span><span class="jsdoc-var">_getElementsByType </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">search_array</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">path</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-var">search_array.forEach</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.type </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">) {
+                </span><span class="jsdoc-var">n.path </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">path </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'/' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">n.type </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">':' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;
+                </span><span class="jsdoc-var">ret.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">);
+            }
+            </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.cn.length </span><span class="jsdoc-syntax">&gt; 0) {
+                </span><span class="jsdoc-var">this._getElementsByType</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">n.cn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">path </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'/' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">n.type</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">':'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
+            }
+        },</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+    }
+
+});
+</span></code></body></html>
\ No newline at end of file
diff --git a/docs/src/Roo_rtf_Group.js.html b/docs/src/Roo_rtf_Group.js.html
new file mode 100644 (file)
index 0000000..a71cc82
--- /dev/null
@@ -0,0 +1,47 @@
+<html><head><title>Roo/rtf/Group.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.rtf.Group </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">parent</span><span class="jsdoc-syntax">)
+{
+    </span><span class="jsdoc-comment">// we dont want to acutally store parent - it will make debug a nightmare..
+    </span><span class="jsdoc-var">this.content </span><span class="jsdoc-syntax">= [];
+    </span><span class="jsdoc-var">this.cn  </span><span class="jsdoc-syntax">= [];
+
+
+
+};
+
+</span><span class="jsdoc-var">Roo.rtf.Group.prototype </span><span class="jsdoc-syntax">= {
+    </span><span class="jsdoc-var">ignorable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">content</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">addContent </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-comment">// could set styles...
+        </span><span class="jsdoc-var">this.content.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
+    },
+    </span><span class="jsdoc-var">addChild </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-var">this.cn.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">);
+    },
+    </span><span class="jsdoc-comment">// only for images really...
+    </span><span class="jsdoc-var">toDataURL </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">mimetype </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-keyword">case </span><span class="jsdoc-var">this.content.filter</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-keyword">return </span><span class="jsdoc-var">a.value </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'pngblip' </span><span class="jsdoc-syntax">} )</span><span class="jsdoc-var">.length </span><span class="jsdoc-syntax">&gt; 0:
+                </span><span class="jsdoc-var">mimetype </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;image/png&quot;</span><span class="jsdoc-syntax">;
+                </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
+             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-var">this.content.filter</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-keyword">return </span><span class="jsdoc-var">a.value </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'jpegblip' </span><span class="jsdoc-syntax">} )</span><span class="jsdoc-var">.length </span><span class="jsdoc-syntax">&gt; 0:
+                </span><span class="jsdoc-var">mimetype </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;image/jpeg&quot;</span><span class="jsdoc-syntax">;
+                </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-keyword">default </span><span class="jsdoc-syntax">:
+                </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'about:blank'</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// ?? error?
+        </span><span class="jsdoc-syntax">}
+
+
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hexstring </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.content</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.content.length</span><span class="jsdoc-syntax">-1]</span><span class="jsdoc-var">.value</span><span class="jsdoc-syntax">;
+
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">'data:' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">mimetype </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">';base64,' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">btoa</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hexstring.match</span><span class="jsdoc-syntax">(/\w{2}/g)</span><span class="jsdoc-var">.map</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-keyword">return </span><span class="jsdoc-var">String.fromCharCode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, 16));
+        })</span><span class="jsdoc-var">.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">));
+    }
+
+};</span></code></body></html>
\ No newline at end of file
diff --git a/docs/src/Roo_rtf_Hex.js.html b/docs/src/Roo_rtf_Hex.js.html
new file mode 100644 (file)
index 0000000..1c7f989
--- /dev/null
@@ -0,0 +1,5 @@
+<html><head><title>Roo/rtf/Hex.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.rtf.Hex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hex</span><span class="jsdoc-syntax">)
+{
+    </span><span class="jsdoc-var">this.hexstr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">hex</span><span class="jsdoc-syntax">;
+};
+</span></code></body></html>
\ No newline at end of file
diff --git a/docs/src/Roo_rtf_Paragraph.js.html b/docs/src/Roo_rtf_Paragraph.js.html
new file mode 100644 (file)
index 0000000..98e5729
--- /dev/null
@@ -0,0 +1,4 @@
+<html><head><title>Roo/rtf/Paragraph.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.rtf.Paragraph </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">opts</span><span class="jsdoc-syntax">)
+{
+    </span><span class="jsdoc-var">this.content </span><span class="jsdoc-syntax">= []; </span><span class="jsdoc-comment">///??? is that used?
+</span><span class="jsdoc-syntax">};</span></code></body></html>
\ No newline at end of file
diff --git a/docs/src/Roo_rtf_Parser.js.html b/docs/src/Roo_rtf_Parser.js.html
new file mode 100644 (file)
index 0000000..4c2cc49
--- /dev/null
@@ -0,0 +1,383 @@
+<html><head><title>Roo/rtf/Parser.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">/**
+ *
+ *
+ * based on this https://github.com/iarna/rtf-parser
+ * it's really only designed to extract pict from pasted RTF 
+ *
+ * usage:
+ *
+ *  var images = new Roo.rtf.Parser().parse(a_string).filter(function(g) { return g.type == 'pict'; });
+ *  
+ *
+ */
+
+
+
+
+
+</span><span class="jsdoc-var">Roo.rtf.Parser </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
+    </span><span class="jsdoc-comment">//super({objectMode: true})
+    </span><span class="jsdoc-var">this.text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+    </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+
+    </span><span class="jsdoc-comment">// these are for interpeter...
+    </span><span class="jsdoc-var">this.doc </span><span class="jsdoc-syntax">= {};
+    </span><span class="jsdoc-comment">///this.parserState = this.parseTop
+    </span><span class="jsdoc-var">this.groupStack </span><span class="jsdoc-syntax">= [];
+    </span><span class="jsdoc-var">this.hexStore </span><span class="jsdoc-syntax">= [];
+    </span><span class="jsdoc-var">this.doc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+
+    </span><span class="jsdoc-var">this.groups </span><span class="jsdoc-syntax">= []; </span><span class="jsdoc-comment">// where we put the return.
+
+    </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ii </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">ii </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">text.length</span><span class="jsdoc-syntax">; ++</span><span class="jsdoc-var">ii</span><span class="jsdoc-syntax">) {
+        ++</span><span class="jsdoc-var">this.cpos</span><span class="jsdoc-syntax">;
+
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">ii</span><span class="jsdoc-syntax">] === </span><span class="jsdoc-string">'\n'</span><span class="jsdoc-syntax">) {
+            ++</span><span class="jsdoc-var">this.row</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">this.col </span><span class="jsdoc-syntax">= 1;
+        } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+            ++</span><span class="jsdoc-var">this.col</span><span class="jsdoc-syntax">;
+        }
+        </span><span class="jsdoc-var">this.parserState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">ii</span><span class="jsdoc-syntax">]);
+    }
+
+
+
+};
+</span><span class="jsdoc-var">Roo.rtf.Parser.prototype </span><span class="jsdoc-syntax">= {
+    </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">// string being parsed..
+    </span><span class="jsdoc-var">controlWord </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">controlWordParam </span><span class="jsdoc-syntax">:  </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">hexChar </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">doc </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">group</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">groupStack </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">hexStore </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
+
+    </span><span class="jsdoc-var">cpos </span><span class="jsdoc-syntax">: 0,
+    </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">: 1, </span><span class="jsdoc-comment">// reportin?
+    </span><span class="jsdoc-var">col </span><span class="jsdoc-syntax">: 1, </span><span class="jsdoc-comment">//
+
+
+    </span><span class="jsdoc-var">push </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">m </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'cmd'</span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">el.type</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</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">m</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">'invalid cmd:' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">el.type</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+        }
+        </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">](</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-comment">//Roo.log(el);
+    </span><span class="jsdoc-syntax">},
+    </span><span class="jsdoc-var">flushHexStore </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hexStore.length </span><span class="jsdoc-syntax">&lt; 1) {
+            </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+        }
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hexstr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hexStore.map</span><span class="jsdoc-syntax">(
+            </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cmd</span><span class="jsdoc-syntax">) {
+                </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cmd.value</span><span class="jsdoc-syntax">;
+        })</span><span class="jsdoc-var">.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
+
+        </span><span class="jsdoc-var">this.group.addContent</span><span class="jsdoc-syntax">( </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.rtf.Hex</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">hexstr </span><span class="jsdoc-syntax">));
+
+
+        </span><span class="jsdoc-var">this.hexStore.splice</span><span class="jsdoc-syntax">(0)
+
+    },
+
+    </span><span class="jsdoc-var">cmdgroupstart </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-var">this.flushHexStore</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.group</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.groupStack.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.group</span><span class="jsdoc-syntax">);
+        }
+         </span><span class="jsdoc-comment">// parent..
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.doc </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.group </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.doc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.rtf.Document</span><span class="jsdoc-syntax">();
+            </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+
+        }
+        </span><span class="jsdoc-var">this.group </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.rtf.Group</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.group</span><span class="jsdoc-syntax">);
+    },
+    </span><span class="jsdoc-var">cmdignorable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-var">this.flushHexStore</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-var">this.group.ignorable </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+    },
+    </span><span class="jsdoc-var">cmdendparagraph </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-var">this.flushHexStore</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-var">this.group.addContent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.rtf.Paragraph</span><span class="jsdoc-syntax">());
+    },
+    </span><span class="jsdoc-var">cmdgroupend </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-var">this.flushHexStore</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">endingGroup </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.group</span><span class="jsdoc-syntax">;
+
+
+        </span><span class="jsdoc-var">this.group </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.groupStack.pop</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.group</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.group.addChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">endingGroup</span><span class="jsdoc-syntax">);
+        }
+
+
+
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">doc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.group </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.doc</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-comment">//if (endingGroup instanceof FontTable) {
+        //  doc.fonts = endingGroup.table
+        //} else if (endingGroup instanceof ColorTable) {
+        //  doc.colors = endingGroup.table
+        //} else if (endingGroup !== this.doc &amp;&amp; !endingGroup.get('ignorable')) {
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">endingGroup.ignorable </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-comment">//code
+            </span><span class="jsdoc-var">this.groups.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">endingGroup</span><span class="jsdoc-syntax">);
+           </span><span class="jsdoc-comment">// Roo.log( endingGroup );
+        </span><span class="jsdoc-syntax">}
+            </span><span class="jsdoc-comment">//Roo.each(endingGroup.content, function(item)) {
+            //    doc.addContent(item);
+            //}
+            //process.emit('debug', 'GROUP END', endingGroup.type, endingGroup.get('ignorable'))
+        //}
+    </span><span class="jsdoc-syntax">},
+    </span><span class="jsdoc-var">cmdtext </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cmd</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-var">this.flushHexStore</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.group</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-comment">// an RTF fragment, missing the {\rtf1 header
+            //this.group = this.doc
+        </span><span class="jsdoc-syntax">}
+        </span><span class="jsdoc-var">this.group.addContent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.rtf.Span</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cmd</span><span class="jsdoc-syntax">));
+    },
+    </span><span class="jsdoc-var">cmdcontrolword </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cmd</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-var">this.flushHexStore</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.group.type</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.group.type </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cmd.value</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+        }
+        </span><span class="jsdoc-var">this.group.addContent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.rtf.Ctrl</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cmd</span><span class="jsdoc-syntax">));
+        </span><span class="jsdoc-comment">// we actually don't care about ctrl words...
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-comment">/*
+        var method = 'ctrl$' + cmd.value.replace(/-(.)/g, (_, char) =&gt; char.toUpperCase())
+        if (this[method]) {
+            this[method](cmd.param)
+        } else {
+            if (!this.group.get('ignorable')) process.emit('debug', method, cmd.param)
+        }
+        */
+    </span><span class="jsdoc-syntax">},
+    </span><span class="jsdoc-var">cmdhexchar </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cmd</span><span class="jsdoc-syntax">) {
+        </span><span class="jsdoc-var">this.hexStore.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cmd</span><span class="jsdoc-syntax">);
+    },
+    </span><span class="jsdoc-var">cmderror </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cmd</span><span class="jsdoc-syntax">) {
+        </span><span class="jsdoc-keyword">throw new </span><span class="jsdoc-var">Exception </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cmd.value</span><span class="jsdoc-syntax">);
+    },
+
+    </span><span class="jsdoc-comment">/*
+      _flush (done) {
+        if (this.text !== '\u0000') this.emitText()
+        done()
+      }
+      */
+
+
+    </span><span class="jsdoc-var">parseText </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-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'\\'</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseEscapes</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'{'</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.emitStartGroup</span><span class="jsdoc-syntax">();
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'}'</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.emitEndGroup</span><span class="jsdoc-syntax">();
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'\x0A' </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'\x0D'</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-comment">// cr/lf are noise chars
+        </span><span class="jsdoc-syntax">} </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+            </span><span class="jsdoc-var">this.text </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">;
+        }
+    },
+
+    </span><span class="jsdoc-var">parseEscapes</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-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'\\' </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'{' </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'}'</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.text </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseControlSymbol</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">this.parseControlSymbol</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">);
+        }
+    },
+    </span><span class="jsdoc-var">parseControlSymbol</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-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'~'</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.text </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">'\u00a0'</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// nbsp
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText
+        </span><span class="jsdoc-syntax">} </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">) {
+             </span><span class="jsdoc-var">this.text </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">'\u00ad'</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// soft hyphen
+        </span><span class="jsdoc-syntax">} </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'_'</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.text </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">'\u2011'</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// non-breaking hyphen
+        </span><span class="jsdoc-syntax">} </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'*'</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.emitIgnorable</span><span class="jsdoc-syntax">();
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">&quot;'&quot;</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseHexChar</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'|'</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-comment">// formula cacter
+            </span><span class="jsdoc-var">this.emitFormula</span><span class="jsdoc-syntax">();
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">':'</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-comment">// subentry in an index entry
+            </span><span class="jsdoc-var">this.emitIndexSubEntry</span><span class="jsdoc-syntax">();
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'\x0a'</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.emitEndParagraph</span><span class="jsdoc-syntax">();
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'\x0d'</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.emitEndParagraph</span><span class="jsdoc-syntax">();
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseControlWord</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">this.parseControlWord</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">);
+        }
+    },
+    </span><span class="jsdoc-var">parseHexChar</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-keyword">if </span><span class="jsdoc-syntax">(/^[A-Fa-f0-9]$/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">)) {
+            </span><span class="jsdoc-var">this.hexChar </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hexChar.length </span><span class="jsdoc-syntax">&gt;= 2) {
+              </span><span class="jsdoc-var">this.emitHexChar</span><span class="jsdoc-syntax">();
+              </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+            }
+            </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+        }
+        </span><span class="jsdoc-var">this.emitError</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;Invalid character \&quot;&quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;\&quot; in hex literal.&quot;</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+
+    },
+    </span><span class="jsdoc-var">parseControlWord </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-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.emitControlWord</span><span class="jsdoc-syntax">();
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(/^[-\d]$/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">)) {
+            </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseControlWordParam</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">this.controlWordParam </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(/^[A-Za-z]$/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">)) {
+          </span><span class="jsdoc-var">this.controlWord </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+          </span><span class="jsdoc-var">this.emitControlWord</span><span class="jsdoc-syntax">();
+          </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+          </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">);
+        }
+    },
+    </span><span class="jsdoc-var">parseControlWordParam </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-keyword">if </span><span class="jsdoc-syntax">(/^\d$/</span><span class="jsdoc-var">.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">)) {
+          </span><span class="jsdoc-var">this.controlWordParam </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">) {
+          </span><span class="jsdoc-var">this.emitControlWord</span><span class="jsdoc-syntax">();
+          </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+        } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+          </span><span class="jsdoc-var">this.emitControlWord</span><span class="jsdoc-syntax">();
+          </span><span class="jsdoc-var">this.parserState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">;
+          </span><span class="jsdoc-var">this.parseText</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">);
+        }
+    },
+
+
+
+
+    </span><span class="jsdoc-var">emitText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">() {
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.text </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+        }
+        </span><span class="jsdoc-var">this.push</span><span class="jsdoc-syntax">({
+            </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'text'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.text</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">pos</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cpos</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.row</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.col
+        </span><span class="jsdoc-syntax">});
+        </span><span class="jsdoc-var">this.text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''
+    </span><span class="jsdoc-syntax">},
+    </span><span class="jsdoc-var">emitControlWord </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-var">this.emitText</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.controlWord </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.emitError</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'empty control word'</span><span class="jsdoc-syntax">);
+        } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+            </span><span class="jsdoc-var">this.push</span><span class="jsdoc-syntax">({
+                  </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'controlword'</span><span class="jsdoc-syntax">,
+                  </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.controlWord</span><span class="jsdoc-syntax">,
+                  </span><span class="jsdoc-var">param</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.controlWordParam </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">Number</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.controlWordParam</span><span class="jsdoc-syntax">),
+                  </span><span class="jsdoc-var">pos</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cpos</span><span class="jsdoc-syntax">,
+                  </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.row</span><span class="jsdoc-syntax">,
+                  </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.col
+            </span><span class="jsdoc-syntax">});
+        }
+        </span><span class="jsdoc-var">this.controlWord </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-var">this.controlWordParam </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+    },
+    </span><span class="jsdoc-var">emitStartGroup </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-var">this.emitText</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-var">this.push</span><span class="jsdoc-syntax">({
+            </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'groupstart'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">pos</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cpos</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.row</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.col
+        </span><span class="jsdoc-syntax">});
+    },
+    </span><span class="jsdoc-var">emitEndGroup </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-var">this.emitText</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-var">this.push</span><span class="jsdoc-syntax">({
+            </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'groupend'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">pos</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cpos</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.row</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.col
+        </span><span class="jsdoc-syntax">});
+    },
+    </span><span class="jsdoc-var">emitIgnorable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-var">this.emitText</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-var">this.push</span><span class="jsdoc-syntax">({
+            </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'ignorable'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">pos</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cpos</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.row</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.col
+        </span><span class="jsdoc-syntax">});
+    },
+    </span><span class="jsdoc-var">emitHexChar </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-var">this.emitText</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-var">this.push</span><span class="jsdoc-syntax">({
+            </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'hexchar'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.hexChar</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">pos</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cpos</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.row</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.col
+        </span><span class="jsdoc-syntax">});
+        </span><span class="jsdoc-var">this.hexChar </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''
+    </span><span class="jsdoc-syntax">},
+    </span><span class="jsdoc-var">emitError </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">message</span><span class="jsdoc-syntax">)
+    {
+      </span><span class="jsdoc-var">this.emitText</span><span class="jsdoc-syntax">();
+      </span><span class="jsdoc-var">this.push</span><span class="jsdoc-syntax">({
+            </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'error'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">message</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.row</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.col</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">char</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cpos </span><span class="jsdoc-comment">//,
+            //stack: new Error().stack
+        </span><span class="jsdoc-syntax">});
+    },
+    </span><span class="jsdoc-var">emitEndParagraph </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">() {
+        </span><span class="jsdoc-var">this.emitText</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-var">this.push</span><span class="jsdoc-syntax">({
+            </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'endparagraph'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">pos</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cpos</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.row</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.col
+        </span><span class="jsdoc-syntax">});
+    }
+
+} ;</span></code></body></html>
\ No newline at end of file
diff --git a/docs/src/Roo_rtf_Span.js.html b/docs/src/Roo_rtf_Span.js.html
new file mode 100644 (file)
index 0000000..f53f0f0
--- /dev/null
@@ -0,0 +1,5 @@
+<html><head><title>Roo/rtf/Span.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.rtf.Span </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">opts</span><span class="jsdoc-syntax">)
+{
+    </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">opts.value</span><span class="jsdoc-syntax">;
+};
+</span></code></body></html>
\ No newline at end of file
diff --git a/docs/src/Roo_rtf_namespace.js.html b/docs/src/Roo_rtf_namespace.js.html
new file mode 100644 (file)
index 0000000..a171f66
--- /dev/null
@@ -0,0 +1,2 @@
+<html><head><title>Roo/rtf/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.rtf </span><span class="jsdoc-syntax">= {}; </span><span class="jsdoc-comment">// namespace
+</span></code></body></html>
\ No newline at end of file
index d89dab3..04c1fe5 100644 (file)
@@ -9,7 +9,10 @@
     ]
   },
   "tree_children" : [],
-  "tree_parent" : [],
+  "tree_parent" : [
+    "none",
+    "builder"
+  ],
   "desc" : "Lightweight Dialog Class.  The code below shows the creation of a typical dialog using existing HTML markup:\n<pre><code>\nvar dlg = new Roo.BasicDialog(\"my-dlg\", {\n    height: 200,\n    width: 300,\n    minHeight: 100,\n    minWidth: 150,\n    modal: true,\n    proxyDrag: true,\n    shadow: true\n});\ndlg.addKeyListener(27, dlg.hide, dlg); // ESC can also close the dialog\ndlg.addButton('OK', dlg.hide, dlg);    // Could call a save function instead of hiding\ndlg.addButton('Cancel', dlg.hide, dlg);\ndlg.show();\n</code></pre>\n  <b>A Dialog should always be a direct child of the body element.</b>",
   "isSingleton" : false,
   "isStatic" : false,
index bba7138..0c95420 100644 (file)
@@ -19,7 +19,7 @@
   "tree_parent" : [
     "Roo.BorderLayout",
     "Roo.LayoutDialog",
-    "builder-top"
+    "builder"
   ],
   "desc" : "A basic ContentPanel element.",
   "isSingleton" : false,
     {
       "name" : "region",
       "type" : "String",
-      "desc" : "[required]   (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+      "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
       "memberOf" : ""
     },
     {
index 49ad872..9f7a9e2 100644 (file)
@@ -6,7 +6,11 @@
   ],
   "childClasses" : {  },
   "tree_children" : [],
-  "tree_parent" : [],
+  "tree_parent" : [
+    "Roo.BorderLayout",
+    "Roo.LayoutDialog",
+    "builder"
+  ],
   "desc" : "Create a new GridPanel.",
   "isSingleton" : false,
   "isStatic" : false,
   "deprecated" : "",
   "since" : "",
   "see" : "",
-  "params" : [
-    {
-      "name" : "grid",
-      "type" : "Roo.grid.Grid",
-      "desc" : "The grid for this panel",
-      "isOptional" : false
-    },
-    {
-      "name" : "config",
-      "type" : "String/Object",
-      "desc" : "A string to set only the panel's title, or a config object",
-      "isOptional" : false
-    }
-  ],
+  "params" : [],
   "returns" : [],
   "throws" : "",
   "requires" : "",
@@ -75,7 +66,7 @@
     {
       "name" : "region",
       "type" : "String",
-      "desc" : "[required]   (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+      "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
       "memberOf" : "Roo.ContentPanel"
     },
     {
       "desc" : "When using {@link #fitToFrame} and {@link #resizeEl}, you can also fit the parent container  (defaults to false)",
       "memberOf" : "Roo.ContentPanel"
     },
+    {
+      "name" : "grid",
+      "type" : "Roo.grid.Grid",
+      "desc" : "The grid for this panel",
+      "memberOf" : "Roo"
+    },
     {
       "name" : "closable",
       "type" : "Boolean",
index 6b69a3a..5222741 100644 (file)
@@ -6,8 +6,12 @@
   ],
   "childClasses" : {  },
   "tree_children" : [],
-  "tree_parent" : [],
-  "desc" : "Create a new NestedLayoutPanel.",
+  "tree_parent" : [
+    "Roo.BorderLayout",
+    "Roo.LayoutDialog",
+    "builder"
+  ],
+  "desc" : "",
   "isSingleton" : false,
   "isStatic" : false,
   "isBuiltin" : false,
@@ -75,7 +79,7 @@
     {
       "name" : "region",
       "type" : "String",
-      "desc" : "[required]   (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+      "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
       "memberOf" : "Roo.ContentPanel"
     },
     {
       "desc" : "popup menu",
       "memberOf" : "Roo.ContentPanel"
     },
+    {
+      "name" : "Roo.BorderLayout}",
+      "type" : "",
+      "desc" : "layout   [required] The layout for this panel",
+      "memberOf" : "Roo"
+    },
     {
       "name" : "title",
       "type" : "String",
index 3fedff0..e866573 100644 (file)
@@ -10,6 +10,8 @@
     "Roo.Toolbar.Separator",
     "Roo.Toolbar.Spacer",
     "Roo.Toolbar.TextItem",
+    "Roo.Toolbar.Button",
+    "Roo.Toolbar.SplitButton",
     "Roo.form.Field",
     "Roo.form.Checkbox",
     "Roo.form.ComboBox",
index 422144c..2325a9d 100644 (file)
@@ -6,7 +6,11 @@
   ],
   "childClasses" : {  },
   "tree_children" : [],
-  "tree_parent" : [],
+  "tree_parent" : [
+    "Roo.BorderLayout",
+    "Roo.LayoutDialog",
+    "builder"
+  ],
   "desc" : "Treepanel component",
   "isSingleton" : false,
   "isStatic" : false,
@@ -69,7 +73,7 @@
     {
       "name" : "region",
       "type" : "String",
-      "desc" : "[required]   (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+      "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
       "memberOf" : "Roo.ContentPanel"
     },
     {
index c6e74ce..6657677 100644 (file)
         {
           "name" : "options",
           "type" : "Object",
-          "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
+          "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>params.data {Object} if you are using a MemoryProxy / JsonReader, use this as the data to load stuff..\n<pre>\n                {\n                    data : data,  // array of key=>value data like JsonReader\n                    total : data.length,\n                    success : true\n                    \n                }\n        </pre>\n            }.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
           "isOptional" : false
         }
       ],
index 3f904ad..0af2188 100644 (file)
         {
           "name" : "options",
           "type" : "Object",
-          "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
+          "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>params.data {Object} if you are using a MemoryProxy / JsonReader, use this as the data to load stuff..\n<pre>\n                {\n                    data : data,  // array of key=>value data like JsonReader\n                    total : data.length,\n                    success : true\n                    \n                }\n        </pre>\n            }.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
           "isOptional" : false
         }
       ],
index 35e8841..e4d5b68 100644 (file)
         {
           "name" : "options",
           "type" : "Object",
-          "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
+          "desc" : "An object containing properties which control loading options:<ul>\n<li>params {Object} An object containing properties to pass as HTTP parameters to a remote data source.</li>\n<li>params.data {Object} if you are using a MemoryProxy / JsonReader, use this as the data to load stuff..\n<pre>\n                {\n                    data : data,  // array of key=>value data like JsonReader\n                    total : data.length,\n                    success : true\n                    \n                }\n        </pre>\n            }.</li>\n<li>callback {Function} A function to be called after the Records have been loaded. The callback is\npassed the following arguments:<ul>\n<li>r : Roo.data.Record[]</li>\n<li>options: Options object from the load call</li>\n<li>success: Boolean success indicator</li></ul></li>\n<li>scope {Object} Scope with which to call the callback (defaults to the Store object)</li>\n<li>add {Boolean} indicator to append loaded records rather than replace the current cache.</li>\n</ul>",
           "isOptional" : false
         }
       ],
index 60c1ca9..4ec16c4 100644 (file)
       "desc" : "True to disable the field (defaults to false).",
       "memberOf" : "Roo.form.Field"
     },
+    {
+      "name" : "zeroValue",
+      "type" : "Date/String",
+      "desc" : "if the date is less that this number, then the field is rendered as empty\ndefault is 1800",
+      "memberOf" : ""
+    },
     {
       "name" : "name",
       "type" : "String",
index b21e1f2..3faf8cc 100644 (file)
       "desc" : "True to measure headers with column data when auto sizing columns. Default is true.",
       "memberOf" : "Roo.grid.Grid"
     },
+    {
+      "name" : "sortColMenu",
+      "type" : "boolean",
+      "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
+      "memberOf" : "Roo.grid.Grid"
+    },
     {
       "name" : "enableDragDrop",
       "type" : "Boolean",
index 9809c97..7b98a30 100644 (file)
       "desc" : "True to measure headers with column data when auto sizing columns. Default is true.",
       "memberOf" : "Roo.grid.Grid"
     },
+    {
+      "name" : "sortColMenu",
+      "type" : "boolean",
+      "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
+      "memberOf" : "Roo.grid.Grid"
+    },
     {
       "name" : "enableDragDrop",
       "type" : "Boolean",
index 3ffc45e..0f587ee 100644 (file)
       "desc" : "True to measure headers with column data when auto sizing columns. Default is true.",
       "memberOf" : ""
     },
+    {
+      "name" : "sortColMenu",
+      "type" : "boolean",
+      "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
+      "memberOf" : ""
+    },
     {
       "name" : "enableDragDrop",
       "type" : "Boolean",
index c0242bf..b4589db 100644 (file)
       "desc" : "True to enable drop of elements. Default is false. (double check if this is needed?)",
       "memberOf" : "Roo.grid.Grid"
     },
+    {
+      "name" : "sortColMenu",
+      "type" : "boolean",
+      "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
+      "memberOf" : "Roo.grid.Grid"
+    },
     {
       "name" : "clicksToEdit",
       "type" : "Number",
index cf2c27c..2fce21e 100644 (file)
   "returns" : [],
   "throws" : "",
   "requires" : "",
-  "config" : [],
+  "config" : [
+    {
+      "name" : "Roo.BorderLayout}",
+      "type" : "",
+      "desc" : "layout   [required] The layout for this panel",
+      "memberOf" : ""
+    },
+    {
+      "name" : "grid",
+      "type" : "Roo.grid.Grid",
+      "desc" : "The grid for this panel",
+      "memberOf" : ""
+    }
+  ],
   "methods" : [
     {
       "name" : "each",
diff --git a/docs/symbols/Roo.rtf.json b/docs/symbols/Roo.rtf.json
new file mode 100644 (file)
index 0000000..a73baed
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "Roo.rtf",
+  "augments" : [],
+  "childClasses" : {  },
+  "tree_children" : [],
+  "tree_parent" : [],
+  "desc" : "",
+  "isSingleton" : false,
+  "isStatic" : false,
+  "isBuiltin" : false,
+  "isAbstract" : false,
+  "isBuilderTop" : false,
+  "memberOf" : "Roo.rtf",
+  "example" : "",
+  "deprecated" : "",
+  "since" : "",
+  "see" : "",
+  "params" : [],
+  "returns" : [],
+  "throws" : "",
+  "requires" : "",
+  "config" : [],
+  "methods" : [],
+  "events" : []
+}
\ No newline at end of file