From c4ec853f8b86740a021ea3e6669f2d903878a229 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Fri, 6 Mar 2020 13:59:08 +0800 Subject: [PATCH] Fix #6201 - Category select --- Roo/Markdown.js | 162 +- Roo/Template.js | 1 + Roo/data/ArrayReader.js | 56 +- Roo/data/DataReader.js | 4 + Roo/data/JsonReader.js | 10 + Roo/data/SimpleStore.js | 6 +- Roo/data/Store.js | 10 + Roo/data/XmlReader.js | 3 + Roo/form/ComboBox.js | 11 +- Roo/form/ComboNested.js | 429 ++++ Roo/util/Observable.js | 8 +- buildSDK/dependancy_ui.txt | 2 + css/combo.css | 7 +- css/roojs.css | 4 +- docs/json/roodata.json | 1925 ++++++++++++++--- docs/src/Array.js.html | 2 +- docs/src/Date.js.html | 2 +- docs/src/Function.js.html | 2 +- docs/src/Number.js.html | 2 +- docs/src/Roo.js.html | 2 +- docs/src/Roo_Ajax.js.html | 2 +- docs/src/Roo_BasicDialog.js.html | 2 +- docs/src/Roo_BasicLayoutRegion.js.html | 2 +- docs/src/Roo_BorderLayout.js.html | 2 +- docs/src/Roo_BoxComponent.js.html | 2 +- docs/src/Roo_Button.js.html | 2 +- docs/src/Roo_CalendarPanel.js.html | 2 +- docs/src/Roo_CenterLayoutRegion.js.html | 2 +- docs/src/Roo_ColorPalette.js.html | 2 +- docs/src/Roo_Component.js.html | 2 +- docs/src/Roo_ComponentMgr.js.html | 2 +- docs/src/Roo_CompositeElement.js.html | 2 +- docs/src/Roo_CompositeElementLite.js.html | 2 +- docs/src/Roo_ContentPanel.js.html | 2 +- docs/src/Roo_DDView.js.html | 2 +- docs/src/Roo_DatePicker.js.html | 2 +- docs/src/Roo_Document.js.html | 2 +- docs/src/Roo_DomHelper.js.html | 2 +- docs/src/Roo_DomQuery.js.html | 2 +- docs/src/Roo_DomTemplate.js.html | 2 +- docs/src/Roo_Editor.js.html | 2 +- docs/src/Roo_Element.js.html | 2 +- docs/src/Roo_EventManager.js.html | 2 +- docs/src/Roo_Fx.js.html | 2 +- docs/src/Roo_HtmlEditorCore.js.html | 81 +- docs/src/Roo_JsonView.js.html | 2 +- docs/src/Roo_KeyMap.js.html | 2 +- docs/src/Roo_KeyNav.js.html | 2 +- docs/src/Roo_Layer.js.html | 2 +- docs/src/Roo_LayoutManager.js.html | 2 +- docs/src/Roo_LayoutRegion.js.html | 4 +- docs/src/Roo_LayoutStateManager.js.html | 2 +- docs/src/Roo_LoadMask.js.html | 2 +- docs/src/Roo_Markdown.js.html | 158 +- docs/src/Roo_MasterTemplate.js.html | 2 +- docs/src/Roo_MessageBox.js.html | 2 +- docs/src/Roo_PagingToolbar.js.html | 2 +- docs/src/Roo_QuickTips.js.html | 2 +- docs/src/Roo_ReaderLayout.js.html | 2 +- docs/src/Roo_Resizable.js.html | 2 +- docs/src/Roo_Shadow.js.html | 2 +- docs/src/Roo_SplitBar.js.html | 2 +- docs/src/Roo_SplitButton.js.html | 2 +- docs/src/Roo_SplitLayoutRegion.js.html | 2 +- docs/src/Roo_TabPanel.js.html | 2 +- docs/src/Roo_Template.js.html | 3 +- docs/src/Roo_Toolbar.js.html | 2 +- docs/src/Roo_UpdateManager.js.html | 2 +- docs/src/Roo_View.js.html | 2 +- docs/src/Roo_XComponent.js.html | 2 +- docs/src/Roo_XTemplate.js.html | 2 +- docs/src/Roo_bootstrap_Alert.js.html | 2 +- .../src/Roo_bootstrap_BezierSignature.js.html | 2 +- docs/src/Roo_bootstrap_Body.js.html | 2 +- docs/src/Roo_bootstrap_Brick.js.html | 2 +- docs/src/Roo_bootstrap_Button.js.html | 2 +- docs/src/Roo_bootstrap_ButtonGroup.js.html | 2 +- docs/src/Roo_bootstrap_Calendar.js.html | 2 +- docs/src/Roo_bootstrap_CheckBox.js.html | 46 +- docs/src/Roo_bootstrap_Column.js.html | 2 +- docs/src/Roo_bootstrap_ComboBox.js.html | 2 +- docs/src/Roo_bootstrap_Component.js.html | 2 +- docs/src/Roo_bootstrap_Container.js.html | 2 +- docs/src/Roo_bootstrap_DateField.js.html | 2 +- docs/src/Roo_bootstrap_DateSplitField.js.html | 2 +- .../src/Roo_bootstrap_DocumentManager.js.html | 2 +- docs/src/Roo_bootstrap_DocumentSlider.js.html | 2 +- docs/src/Roo_bootstrap_DocumentViewer.js.html | 2 +- docs/src/Roo_bootstrap_Element.js.html | 2 +- docs/src/Roo_bootstrap_FieldLabel.js.html | 2 +- docs/src/Roo_bootstrap_Form.js.html | 2 +- docs/src/Roo_bootstrap_Graph.js.html | 2 +- docs/src/Roo_bootstrap_Header.js.html | 2 +- docs/src/Roo_bootstrap_HtmlEditor.js.html | 2 +- docs/src/Roo_bootstrap_Img.js.html | 2 +- docs/src/Roo_bootstrap_Input.js.html | 2 +- docs/src/Roo_bootstrap_LayoutMasonry.js.html | 2 +- .../Roo_bootstrap_LayoutMasonryAuto.js.html | 2 +- docs/src/Roo_bootstrap_Link.js.html | 2 +- docs/src/Roo_bootstrap_LocationPicker.js.html | 2 +- docs/src/Roo_bootstrap_MasonryBrick.js.html | 2 +- docs/src/Roo_bootstrap_Menu.js.html | 2 +- docs/src/Roo_bootstrap_MenuItem.js.html | 2 +- docs/src/Roo_bootstrap_MenuMgr.js.html | 2 +- docs/src/Roo_bootstrap_MenuSeparator.js.html | 2 +- docs/src/Roo_bootstrap_MessageBar.js.html | 2 +- docs/src/Roo_bootstrap_MessageBox.js.html | 2 +- docs/src/Roo_bootstrap_Modal.js.html | 7 +- docs/src/Roo_bootstrap_MoneyField.js.html | 2 +- docs/src/Roo_bootstrap_MonthField.js.html | 2 +- docs/src/Roo_bootstrap_NavGroup.js.html | 2 +- docs/src/Roo_bootstrap_NavHeaderbar.js.html | 2 +- docs/src/Roo_bootstrap_NavItem.js.html | 2 +- docs/src/Roo_bootstrap_NavProgressBar.js.html | 2 +- .../src/Roo_bootstrap_NavProgressItem.js.html | 2 +- docs/src/Roo_bootstrap_NavSidebar.js.html | 2 +- docs/src/Roo_bootstrap_NavSidebarItem.js.html | 2 +- docs/src/Roo_bootstrap_NavSimplebar.js.html | 2 +- docs/src/Roo_bootstrap_Navbar.js.html | 2 +- docs/src/Roo_bootstrap_NumberField.js.html | 2 +- docs/src/Roo_bootstrap_Pagination.js.html | 2 +- docs/src/Roo_bootstrap_PaginationItem.js.html | 2 +- docs/src/Roo_bootstrap_PagingToolbar.js.html | 2 +- docs/src/Roo_bootstrap_PhoneInput.js.html | 2 +- docs/src/Roo_bootstrap_PhoneInputData.js.html | 2 +- docs/src/Roo_bootstrap_Popover.js.html | 2 +- docs/src/Roo_bootstrap_Progress.js.html | 2 +- docs/src/Roo_bootstrap_ProgressBar.js.html | 2 +- docs/src/Roo_bootstrap_Radio.js.html | 2 +- docs/src/Roo_bootstrap_RadioSet.js.html | 2 +- docs/src/Roo_bootstrap_Row.js.html | 2 +- docs/src/Roo_bootstrap_SecurePass.js.html | 2 +- docs/src/Roo_bootstrap_Slider.js.html | 2 +- docs/src/Roo_bootstrap_SplitBar.js.html | 2 +- docs/src/Roo_bootstrap_TabGroup.js.html | 2 +- docs/src/Roo_bootstrap_TabPanel.js.html | 2 +- docs/src/Roo_bootstrap_Table.js.html | 2 +- docs/src/Roo_bootstrap_TableBody.js.html | 2 +- docs/src/Roo_bootstrap_TableCell.js.html | 2 +- docs/src/Roo_bootstrap_TableRow.js.html | 2 +- ...strap_Table_AbstractSelectionModel.js.html | 2 +- ..._bootstrap_Table_RowSelectionModel.js.html | 2 +- docs/src/Roo_bootstrap_TextArea.js.html | 2 +- docs/src/Roo_bootstrap_TimeField.js.html | 2 +- docs/src/Roo_bootstrap_Tooltip.js.html | 2 +- docs/src/Roo_bootstrap_TriggerField.js.html | 2 +- docs/src/Roo_bootstrap_UploadCropbox.js.html | 2 +- docs/src/Roo_bootstrap_dash_NumberBox.js.html | 2 +- docs/src/Roo_bootstrap_dash_TabBox.js.html | 2 +- docs/src/Roo_bootstrap_dash_TabPane.js.html | 2 +- ...otstrap_htmleditor_ToolbarStandard.js.html | 2 +- docs/src/Roo_bootstrap_layout_Basic.js.html | 2 +- docs/src/Roo_bootstrap_layout_Border.js.html | 2 +- docs/src/Roo_bootstrap_layout_Center.js.html | 2 +- docs/src/Roo_bootstrap_layout_East.js.html | 2 +- docs/src/Roo_bootstrap_layout_Manager.js.html | 2 +- docs/src/Roo_bootstrap_layout_North.js.html | 2 +- docs/src/Roo_bootstrap_layout_Region.js.html | 2 +- docs/src/Roo_bootstrap_layout_South.js.html | 2 +- docs/src/Roo_bootstrap_layout_Split.js.html | 2 +- docs/src/Roo_bootstrap_layout_West.js.html | 2 +- .../Roo_bootstrap_layout_layout-ns.js.html | 2 +- docs/src/Roo_bootstrap_menu_Item.js.html | 2 +- docs/src/Roo_bootstrap_menu_Menu.js.html | 2 +- docs/src/Roo_bootstrap_menu_Separator.js.html | 2 +- docs/src/Roo_bootstrap_panel_Content.js.html | 2 +- docs/src/Roo_bootstrap_panel_Grid.js.html | 2 +- docs/src/Roo_bootstrap_panel_Nest.js.html | 2 +- docs/src/Roo_bootstrap_panel_TabItem.js.html | 2 +- docs/src/Roo_bootstrap_panel_Tabs.js.html | 2 +- docs/src/Roo_bootstrap_panel_panel-ns.js.html | 2 +- docs/src/Roo_bootstrap_version.js.html | 4 +- docs/src/Roo_data_ArrayReader.js.html | 58 +- docs/src/Roo_data_Connection.js.html | 4 +- docs/src/Roo_data_DataProxy.js.html | 2 +- docs/src/Roo_data_DataReader.js.html | 6 +- docs/src/Roo_data_Field.js.html | 2 +- docs/src/Roo_data_HttpProxy.js.html | 2 +- docs/src/Roo_data_JsonReader.js.html | 12 +- docs/src/Roo_data_JsonStore.js.html | 2 +- docs/src/Roo_data_MemoryProxy.js.html | 2 +- docs/src/Roo_data_Record.js.html | 2 +- docs/src/Roo_data_ScriptTagProxy.js.html | 2 +- docs/src/Roo_data_SimpleStore.js.html | 8 +- docs/src/Roo_data_SortTypes.js.html | 2 +- docs/src/Roo_data_Store.js.html | 12 +- docs/src/Roo_data_Tree.js.html | 7 +- docs/src/Roo_data_XmlReader.js.html | 5 +- docs/src/Roo_dd_DD.js.html | 2 +- docs/src/Roo_dd_DDProxy.js.html | 2 +- docs/src/Roo_dd_DDTarget.js.html | 6 +- docs/src/Roo_dd_DragDrop.js.html | 2 +- docs/src/Roo_dd_DragDropMgr.js.html | 2 +- docs/src/Roo_dd_DragSource.js.html | 2 +- docs/src/Roo_dd_DragZone.js.html | 2 +- docs/src/Roo_dd_DropTarget.js.html | 2 +- docs/src/Roo_dd_DropZone.js.html | 2 +- docs/src/Roo_dd_Registry.js.html | 2 +- docs/src/Roo_dd_ScrollManager.js.html | 2 +- docs/src/Roo_dd_StatusProxy.js.html | 2 +- docs/src/Roo_form_Action.js.html | 2 +- docs/src/Roo_form_BasicForm.js.html | 191 +- docs/src/Roo_form_Checkbox.js.html | 2 +- docs/src/Roo_form_ComboBox.js.html | 13 +- docs/src/Roo_form_ComboBoxArray.js.html | 8 +- docs/src/Roo_form_ComboCheck.js.html | 2 +- docs/src/Roo_form_DateField.js.html | 11 +- docs/src/Roo_form_DayPicker.js.html | 2 +- docs/src/Roo_form_DisplayField.js.html | 2 +- docs/src/Roo_form_FCKeditor.js.html | 2 +- docs/src/Roo_form_Field.js.html | 2 +- docs/src/Roo_form_Form.js.html | 4 +- docs/src/Roo_form_GridField.js.html | 2 +- docs/src/Roo_form_Hidden.js.html | 2 +- docs/src/Roo_form_HtmlEditor.js.html | 2 +- ...Roo_form_HtmlEditor_ToolbarContext.js.html | 2 +- ...oo_form_HtmlEditor_ToolbarStandard.js.html | 8 +- docs/src/Roo_form_Layout.js.html | 2 +- docs/src/Roo_form_MonthField.js.html | 2 +- docs/src/Roo_form_NumberField.js.html | 2 +- docs/src/Roo_form_Radio.js.html | 2 +- docs/src/Roo_form_Select.js.html | 2 +- docs/src/Roo_form_Signature.js.html | 2 +- docs/src/Roo_form_TextArea.js.html | 2 +- docs/src/Roo_form_TextField.js.html | 21 +- docs/src/Roo_form_TextItem.js.html | 29 +- docs/src/Roo_form_TriggerField.js.html | 2 +- docs/src/Roo_form_VTypes.js.html | 2 +- docs/src/Roo_grid_AbstractGridView.js.html | 2 +- .../Roo_grid_AbstractSelectionModel.js.html | 2 +- docs/src/Roo_grid_Calendar.js.html | 2 +- docs/src/Roo_grid_CellSelectionModel.js.html | 2 +- docs/src/Roo_grid_ColumnModel.js.html | 2 +- docs/src/Roo_grid_EditorGrid.js.html | 2 +- docs/src/Roo_grid_Grid.js.html | 2 +- docs/src/Roo_grid_GridDragZone.js.html | 2 +- docs/src/Roo_grid_GridEditor.js.html | 2 +- docs/src/Roo_grid_GridView.js.html | 2 +- docs/src/Roo_grid_HeaderDragZone.js.html | 2 +- docs/src/Roo_grid_HeaderDropZone.js.html | 2 +- docs/src/Roo_grid_PropertyGrid.js.html | 2 +- docs/src/Roo_grid_RowSelectionModel.js.html | 2 +- docs/src/Roo_grid_SplitDragZone.js.html | 2 +- docs/src/Roo_lib_Ajax.js.html | 2 +- docs/src/Roo_lib_Anim.js.html | 2 +- docs/src/Roo_lib_AnimBase.js.html | 2 +- docs/src/Roo_lib_AnimMgr.js.html | 2 +- docs/src/Roo_lib_Beizer.js.html | 2 +- docs/src/Roo_lib_ColorAnim.js.html | 2 +- docs/src/Roo_lib_Dom.js.html | 2 +- docs/src/Roo_lib_Easing.js.html | 2 +- docs/src/Roo_lib_Event.js.html | 2 +- docs/src/Roo_lib_Motion.js.html | 2 +- docs/src/Roo_lib_Point.js.html | 2 +- docs/src/Roo_lib_Region.js.html | 2 +- docs/src/Roo_lib_Scroll.js.html | 2 +- docs/src/Roo_menu_Adapter.js.html | 2 +- docs/src/Roo_menu_BaseItem.js.html | 2 +- docs/src/Roo_menu_CheckItem.js.html | 2 +- docs/src/Roo_menu_ColorItem.js.html | 2 +- docs/src/Roo_menu_ColorMenu.js.html | 2 +- docs/src/Roo_menu_DateItem.js.html | 2 +- docs/src/Roo_menu_DateMenu.js.html | 2 +- docs/src/Roo_menu_Item.js.html | 2 +- docs/src/Roo_menu_Menu.js.html | 6 +- docs/src/Roo_menu_MenuMgr.js.html | 2 +- docs/src/Roo_menu_Separator.js.html | 2 +- docs/src/Roo_menu_TextItem.js.html | 2 +- docs/src/Roo_state_CookieProvider.js.html | 2 +- docs/src/Roo_state_Manager.js.html | 2 +- docs/src/Roo_state_Provider.js.html | 2 +- docs/src/Roo_tree_AsyncTreeNode.js.html | 2 +- docs/src/Roo_tree_ColumnNodeUI.js.html | 2 +- docs/src/Roo_tree_ColumnTree.js.html | 2 +- docs/src/Roo_tree_TreeDragZone.js.html | 2 +- docs/src/Roo_tree_TreeDropZone.js.html | 2 +- docs/src/Roo_tree_TreeEditor.js.html | 2 +- docs/src/Roo_tree_TreeFilter.js.html | 2 +- docs/src/Roo_tree_TreeLoader.js.html | 2 +- docs/src/Roo_tree_TreeNode.js.html | 5 +- docs/src/Roo_tree_TreeNodeUI.js.html | 8 +- docs/src/Roo_tree_TreePanel.js.html | 12 +- docs/src/Roo_tree_TreeSelectionModel.js.html | 2 +- docs/src/Roo_tree_TreeSorter.js.html | 2 +- docs/src/Roo_util_CSS.js.html | 2 +- docs/src/Roo_util_ClickRepeater.js.html | 2 +- docs/src/Roo_util_DelayedTask.js.html | 2 +- docs/src/Roo_util_Format.js.html | 2 +- docs/src/Roo_util_JSON.js.html | 2 +- docs/src/Roo_util_MixedCollection.js.html | 2 +- docs/src/Roo_util_Observable.js.html | 10 +- docs/src/Roo_util_TaskRunner.js.html | 2 +- docs/src/Roo_util_TextMetrics.js.html | 2 +- docs/src/String.js.html | 2 +- docs/symbols/Roo.bootstrap.Modal.json | 16 + docs/symbols/Roo.data.JsonStore.json | 22 + docs/symbols/Roo.data.SimpleStore.json | 30 + docs/symbols/Roo.data.Store.json | 22 + docs/symbols/Roo.form.BasicForm.json | 18 + docs/symbols/Roo.form.ComboBox.json | 8 + docs/symbols/Roo.form.ComboBoxArray.json | 8 + docs/symbols/Roo.form.ComboCheck.json | 8 + docs/symbols/Roo.form.DateField.json | 24 +- docs/symbols/Roo.form.FCKeditor.json | 8 + docs/symbols/Roo.form.Form.json | 18 + docs/symbols/Roo.form.Hidden.json | 8 + docs/symbols/Roo.form.MonthField.json | 8 + docs/symbols/Roo.form.NumberField.json | 8 + docs/symbols/Roo.form.Select.json | 24 +- docs/symbols/Roo.form.TextArea.json | 16 +- docs/symbols/Roo.form.TextField.json | 8 + docs/symbols/Roo.form.TextItem.json | 8 - docs/symbols/Roo.form.TriggerField.json | 24 +- docs/symbols/Roo.tree.TreePanel.json | 31 + docs/symbols/_global_.json | 38 +- docs/tree.json | 6 + examples/form/combocheck.html | 4 +- examples/form/combocheck.js | 4 + examples/form/nestedcombo.html | 62 + examples/form/nestedcombo.js | 171 ++ roojs-all.js | 189 +- roojs-bootstrap-debug.js | 86 +- roojs-bootstrap.js | 36 +- roojs-core-debug.js | 175 +- roojs-core.js | 128 +- roojs-debug.js | 703 +++++- roojs-ui-debug.js | 528 ++++- roojs-ui.js | 61 +- 328 files changed, 5095 insertions(+), 1298 deletions(-) create mode 100644 Roo/form/ComboNested.js create mode 100644 examples/form/nestedcombo.html create mode 100644 examples/form/nestedcombo.js diff --git a/Roo/Markdown.js b/Roo/Markdown.js index 6ffe6e02d1..dff793e77c 100644 --- a/Roo/Markdown.js +++ b/Roo/Markdown.js @@ -45,10 +45,86 @@ Roo.Markdown.toHtml = function(text) { // (function() { + /** + * eval:var:escape + * eval:var:unescape + * eval:var:replace + */ + + /** + * Helpers + */ + + var escape = function (html, encode) { + return html + .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); + } + + var unescape = function (html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) { + n = n.toLowerCase(); + if (n === 'colon') { return ':'; } + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); + } + + var replace = function (regex, opt) { + regex = regex.source; + opt = opt || ''; + return function self(name, val) { + if (!name) { return new RegExp(regex, opt); } + val = val.source || val; + val = val.replace(/(^|[^\[])\^/g, '$1'); + regex = regex.replace(name, val); + return self; + }; + } + + + /** + * eval:var:noop + */ + var noop = function () {} + noop.exec = noop; + + /** + * eval:var:merge + */ + var merge = function (obj) { + var i = 1 + , target + , key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; + } + + /** * Block-Level Grammar */ + + + var block = { newline: /^\n+/, code: /^( {4}[^\n]+\n*)+/, @@ -138,7 +214,7 @@ Roo.Markdown.toHtml = function(text) { * Block Lexer */ - function Lexer(options) { + var Lexer = function (options) { this.tokens = []; this.tokens.links = {}; this.options = options || marked.defaults; @@ -556,7 +632,7 @@ Roo.Markdown.toHtml = function(text) { * Inline Lexer & Compiler */ - function InlineLexer(links, options) { + var InlineLexer = function (links, options) { this.options = options || marked.defaults; this.links = links; this.rules = inline.normal; @@ -796,7 +872,11 @@ Roo.Markdown.toHtml = function(text) { * Renderer */ - function Renderer(options) { + /** + * eval:var:Renderer + */ + + var Renderer = function (options) { this.options = options || {}; } @@ -945,8 +1025,11 @@ Roo.Markdown.toHtml = function(text) { /** * Parsing & Compiling */ + /** + * eval:var:Parser + */ - function Parser(options) { + var Parser= function (options) { this.tokens = []; this.token = null; this.options = options || marked.defaults; @@ -1121,72 +1204,15 @@ Roo.Markdown.toHtml = function(text) { } } }; - - /** - * Helpers - */ - - function escape(html, encode) { - return html - .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"') - .replace(/'/g, '''); - } - - function unescape(html) { - // explicitly match decimal, hex, and named HTML entities - return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) { - n = n.toLowerCase(); - if (n === 'colon') { return ':'; } - if (n.charAt(0) === '#') { - return n.charAt(1) === 'x' - ? String.fromCharCode(parseInt(n.substring(2), 16)) - : String.fromCharCode(+n.substring(1)); - } - return ''; - }); - } - - function replace(regex, opt) { - regex = regex.source; - opt = opt || ''; - return function self(name, val) { - if (!name) { return new RegExp(regex, opt); } - val = val.source || val; - val = val.replace(/(^|[^\[])\^/g, '$1'); - regex = regex.replace(name, val); - return self; - }; - } - - function noop() {} - noop.exec = noop; - - function merge(obj) { - var i = 1 - , target - , key; - - for (; i < arguments.length; i++) { - target = arguments[i]; - for (key in target) { - if (Object.prototype.hasOwnProperty.call(target, key)) { - obj[key] = target[key]; - } - } - } - - return obj; - } - + /** * Marked */ - - function marked(src, opt, callback) { + /** + * eval:var:marked + */ + var marked = function (src, opt, callback) { if (callback || typeof opt === 'function') { if (!callback) { callback = opt; @@ -1207,7 +1233,9 @@ Roo.Markdown.toHtml = function(text) { } pending = tokens.length; - + /** + * eval:var:done + */ var done = function(err) { if (err) { opt.highlight = highlight; diff --git a/Roo/Template.js b/Roo/Template.js index 5c67206e61..bd5e045033 100644 --- a/Roo/Template.js +++ b/Roo/Template.js @@ -68,6 +68,7 @@ Roo.Template.prototype = { * @return {String} The HTML fragment */ applyTemplate : function(values){ + Roo.log(["applyTemplate", values]); try { if(this.compiled){ diff --git a/Roo/data/ArrayReader.js b/Roo/data/ArrayReader.js index 46e7603ebd..07c0e5da0b 100644 --- a/Roo/data/ArrayReader.js +++ b/Roo/data/ArrayReader.js @@ -46,42 +46,52 @@ var myReader = new Roo.data.ArrayReader({ * * created using {@link Roo.data.Record#create}. */ -Roo.data.ArrayReader = function(meta, recordType){ - - +Roo.data.ArrayReader = function(meta, recordType) +{ Roo.data.ArrayReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.ArrayReader, Roo.data.JsonReader, { - /** + + /** * Create a data block containing Roo.data.Records from an XML document. * @param {Object} o An Array of row objects which represents the dataset. * @return {Object} A data block which is used by an {@link Roo.data.Store} object as * a cache of Roo.data.Records. */ - readRecords : function(o){ + readRecords : function(o) + { var sid = this.meta ? this.meta.id : null; var recordType = this.recordType, fields = recordType.prototype.fields; var records = []; var root = o; - for(var i = 0; i < root.length; i++){ - var n = root[i]; - var values = {}; - var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null); - for(var j = 0, jlen = fields.length; j < jlen; j++){ - var f = fields.items[j]; - var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j; - var v = n[k] !== undefined ? n[k] : f.defaultValue; - v = f.convert(v); - values[f.name] = v; - } - var record = new recordType(values, id); - record.json = n; - records[records.length] = record; + for(var i = 0; i < root.length; i++){ + var n = root[i]; + var values = {}; + var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null); + for(var j = 0, jlen = fields.length; j < jlen; j++){ + var f = fields.items[j]; + var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j; + var v = n[k] !== undefined ? n[k] : f.defaultValue; + v = f.convert(v); + values[f.name] = v; } - return { - records : records, - totalRecords : records.length - }; + var record = new recordType(values, id); + record.json = n; + records[records.length] = record; + } + return { + records : records, + totalRecords : records.length + }; + }, + // used when loading children.. @see loadDataFromChildren + toLoadData: function(rec) + { + // expect rec just to be an array.. eg [a,b,c, [...] << cn ] + return typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn; + } + + }); \ No newline at end of file diff --git a/Roo/data/DataReader.js b/Roo/data/DataReader.js index 31cd14d36d..042796b1ef 100644 --- a/Roo/data/DataReader.js +++ b/Roo/data/DataReader.js @@ -27,6 +27,9 @@ Roo.data.DataReader = function(meta, recordType){ }; Roo.data.DataReader.prototype = { + + + readerType : 'Data', /** * Create an empty record * @param {Object} data (optional) - overlay some values @@ -47,4 +50,5 @@ Roo.data.DataReader.prototype = { return new this.recordType(Roo.apply(da, d)); } + }; \ No newline at end of file diff --git a/Roo/data/JsonReader.js b/Roo/data/JsonReader.js index 361b361ecc..98c8ce888c 100644 --- a/Roo/data/JsonReader.js +++ b/Roo/data/JsonReader.js @@ -67,6 +67,8 @@ Roo.data.JsonReader = function(meta, recordType){ }; Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, { + readerType : 'Json', + /** * @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source. * Used by Store query builder to append _requestMeta to params. @@ -208,5 +210,13 @@ Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, { records : records, totalRecords : totalRecords }; + }, + // used when loading children.. @see loadDataFromChildren + toLoadData: function(rec) + { + // expect rec just to be an array.. eg [a,b,c, [...] << cn ] + var data = typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn; + return { data : data, total : data.length }; + } }); \ No newline at end of file diff --git a/Roo/data/SimpleStore.js b/Roo/data/SimpleStore.js index adbe6f28a5..9c39abfed6 100644 --- a/Roo/data/SimpleStore.js +++ b/Roo/data/SimpleStore.js @@ -15,14 +15,16 @@ * Small helper class to make creating Stores from Array data easier. * @cfg {Number} id The array index of the record id. Leave blank to auto generate ids. * @cfg {Array} fields An array of field definition objects, or field name strings. + * @cfg {Object} an existing reader (eg. copied from another store) * @cfg {Array} data The multi-dimensional array of data * @constructor * @param {Object} config */ -Roo.data.SimpleStore = function(config){ +Roo.data.SimpleStore = function(config) +{ Roo.data.SimpleStore.superclass.constructor.call(this, { isLocal : true, - reader: new Roo.data.ArrayReader({ + reader: typeof(config.reader) != 'undefined' ? config.reader : new Roo.data.ArrayReader({ id: config.id }, Roo.data.Record.create(config.fields) diff --git a/Roo/data/Store.js b/Roo/data/Store.js index f27e2d6483..7cc3272ce7 100644 --- a/Roo/data/Store.js +++ b/Roo/data/Store.js @@ -450,6 +450,16 @@ Roo.extend(Roo.data.Store, Roo.util.Observable, { var r = this.reader.readRecords(o); this.loadRecords(r, {add: append}, true); }, + + /** + * using 'cn' the nested child reader read the child array into it's child stores. + * @param {Object} rec The record with a 'children array + */ + loadDataFromChildren : function(rec) + { + this.loadData(this.reader.toLoadData(rec)); + }, + /** * Gets the number of cached records. diff --git a/Roo/data/XmlReader.js b/Roo/data/XmlReader.js index 3dda6340cf..2849348e38 100644 --- a/Roo/data/XmlReader.js +++ b/Roo/data/XmlReader.js @@ -67,6 +67,9 @@ Roo.data.XmlReader = function(meta, recordType){ Roo.data.XmlReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.XmlReader, Roo.data.DataReader, { + + readerType : 'Xml', + /** * This method is only used by a DataProxy which has retrieved data from a remote server. * @param {Object} response The XHR object which contains the parsed XML document. The response is expected diff --git a/Roo/form/ComboBox.js b/Roo/form/ComboBox.js index 0117cc201c..80e956ee3a 100644 --- a/Roo/form/ComboBox.js +++ b/Roo/form/ComboBox.js @@ -304,9 +304,11 @@ Roo.extend(Roo.form.ComboBox, Roo.form.TriggerField, { // element that contains real text value.. (when hidden is used..) // private - onRender : function(ct, position){ + onRender : function(ct, position) + { Roo.form.ComboBox.superclass.onRender.call(this, ct, position); - if(this.hiddenName){ + + if(this.hiddenName){ this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)}, 'before', true); this.hiddenField.value = @@ -318,6 +320,7 @@ Roo.extend(Roo.form.ComboBox, Roo.form.TriggerField, { } + if(Roo.isGecko){ this.el.dom.setAttribute('autocomplete', 'off'); } @@ -378,7 +381,9 @@ Roo.extend(Roo.form.ComboBox, Roo.form.TriggerField, { } this.view = new Roo.View(this.innerList, this.tpl, { - singleSelect:true, store: this.store, selectedClass: this.selectedClass + singleSelect:true, + store: this.store, + selectedClass: this.selectedClass }); this.view.on('click', this.onViewClick, this); diff --git a/Roo/form/ComboNested.js b/Roo/form/ComboNested.js new file mode 100644 index 0000000000..67a92033d4 --- /dev/null +++ b/Roo/form/ComboNested.js @@ -0,0 +1,429 @@ +/* + * RooJS Library 1.1.1 + * Copyright(c) 2008-2011 Alan Knowles + * + * License - LGPL + */ + + +/** + * @class Roo.form.ComboNested + * @extends Roo.form.ComboBox + * A combobox for that allows selection of nested items in a list, + * eg. + * + * Book + * -> red + * -> green + * Table + * -> square + * ->red + * ->green + * -> rectangle + * ->green + * + * + * @constructor + * Create a new ComboNested + * @param {Object} config Configuration options + */ +Roo.form.ComboNested = function(config){ + Roo.form.ComboCheck.superclass.constructor.call(this, config); + // should verify some data... + // like + // hiddenName = required.. + // displayField = required + // valudField == required + var req= [ 'hiddenName', 'displayField', 'valueField' ]; + var _t = this; + Roo.each(req, function(e) { + if ((typeof(_t[e]) == 'undefined' ) || !_t[e].length) { + throw "Roo.form.ComboNested : missing value for: " + e; + } + }); + + +}; + +Roo.extend(Roo.form.ComboNested, Roo.form.ComboBox, { + + /* + * @config {Number} max Number of columns to show + */ + + maxColumns : 3, + + list : null, // the outermost div.. + innerLists : null, // the + views : null, + stores : null, + // private + loadingChildren : false, + + onRender : function(ct, position) + { + Roo.form.ComboBox.superclass.onRender.call(this, ct, position); // skip parent call - got to above.. + + if(this.hiddenName){ + this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)}, + 'before', true); + this.hiddenField.value = + this.hiddenValue !== undefined ? this.hiddenValue : + this.value !== undefined ? this.value : ''; + + // prevent input submission + this.el.dom.removeAttribute('name'); + + + } + + if(Roo.isGecko){ + this.el.dom.setAttribute('autocomplete', 'off'); + } + + var cls = 'x-combo-list'; + + this.list = new Roo.Layer({ + shadow: this.shadow, cls: [cls, this.listClass].join(' '), constrain:false + }); + + var lw = this.listWidth || Math.max(this.wrap.getWidth(), this.minListWidth); + this.list.setWidth(lw); + this.list.swallowEvent('mousewheel'); + this.assetHeight = 0; + + if(this.title){ + this.header = this.list.createChild({cls:cls+'-hd', html: this.title}); + this.assetHeight += this.header.getHeight(); + } + this.innerLists = []; + this.views = []; + this.stores = []; + for (var i =0 ; i < this.maxColumns; i++) { + this.onRenderList( cls, i); + } + + // always needs footer, as we are going to have an 'OK' button. + this.footer = this.list.createChild({cls:cls+'-ft'}); + this.pageTb = new Roo.Toolbar(this.footer); + var _this = this; + this.pageTb.add( { + + text: 'Done', + handler: function() + { + _this.collapse(); + } + }); + + if ( this.allowBlank && !this.disableClear) { + + this.pageTb.add(new Roo.Toolbar.Fill(), { + cls: 'x-btn-icon x-btn-clear', + text: ' ', + handler: function() + { + _this.collapse(); + _this.clearValue(); + _this.onSelect(false, -1); + } + }); + } + if (this.footer) { + this.assetHeight += this.footer.getHeight(); + } + + }, + onRenderList : function ( cls, i) + { + + var lw = Math.floor( + ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns + ); + + this.list.setWidth(lw); // default to '1' + + var il = this.innerLists[i] = this.list.createChild({cls:cls+'-inner'}); + //il.on('mouseover', this.onViewOver, this, { list: i }); + //il.on('mousemove', this.onViewMove, this, { list: i }); + il.setWidth(lw); + il.setStyle({ 'overflow-x' : 'hidden'}); + + if(!this.tpl){ + this.tpl = new Roo.Template({ + html : '
{' + this.displayField + '}
', + isEmpty: function (value, allValues) { + //Roo.log(value); + var dl = typeof(value.data) != 'undefined' ? value.data.length : value.length; ///json is a nested response.. + return dl ? 'has-children' : 'no-children' + } + }); + } + + var store = this.store; + if (i > 0) { + store = new Roo.data.SimpleStore({ + //fields : this.store.reader.meta.fields, + reader : this.store.reader, + data : [ ] + }); + } + this.stores[i] = store; + + var view = this.views[i] = new Roo.View( + il, + this.tpl, + { + singleSelect:true, + store: store, + selectedClass: this.selectedClass + } + ); + view.getEl().setWidth(lw); + view.getEl().setStyle({ + position: i < 1 ? 'relative' : 'absolute', + top: 0, + left: (i * lw ) + 'px', + display : i > 0 ? 'none' : 'block' + }); + view.on('selectionchange', this.onSelectChange, this, {list : i }); + view.on('dblclick', this.onDoubleClick, this, {list : i }); + //view.on('click', this.onViewClick, this, { list : i }); + + store.on('beforeload', this.onBeforeLoad, this); + store.on('load', this.onLoad, this, { list : i}); + store.on('loadexception', this.onLoadException, this); + + // hide the other vies.. + + + + }, + + restrictHeight : function() + { + var mh = 0; + Roo.each(this.innerLists, function(il,i) { + var el = this.views[i].getEl(); + el.dom.style.height = ''; + var inner = el.dom; + var h = Math.max(il.clientHeight, il.offsetHeight, il.scrollHeight); + // only adjust heights on other ones.. + mh = Math.max(h, mh); + if (i < 1) { + + el.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight); + il.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight); + + } + + + }, this); + + this.list.beginUpdate(); + this.list.setHeight(mh+this.list.getFrameWidth('tb')+this.assetHeight); + this.list.alignTo(this.el, this.listAlign); + this.list.endUpdate(); + + }, + + + // -- store handlers.. + // private + onBeforeLoad : function() + { + if(!this.hasFocus){ + return; + } + this.innerLists[0].update(this.loadingText ? + '
'+this.loadingText+'
' : ''); + this.restrictHeight(); + this.selectedIndex = -1; + }, + // private + onLoad : function(a,b,c,d) + { + if (!this.loadingChildren) { + // then we are loading the top level. - hide the children + for (var i = 1;i < this.views.length; i++) { + this.views[i].getEl().setStyle({ display : 'none' }); + } + var lw = Math.floor( + ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns + ); + + this.list.setWidth(lw); // default to '1' + + + } + if(!this.hasFocus){ + return; + } + + if(this.store.getCount() > 0) { + this.expand(); + this.restrictHeight(); + } else { + this.onEmptyResults(); + } + + if (!this.loadingChildren) { + this.selectActive(); + } + /* + this.stores[1].loadData([]); + this.stores[2].loadData([]); + this.views + */ + + //this.el.focus(); + }, + + + // private + onLoadException : function() + { + this.collapse(); + Roo.log(this.store.reader.jsonData); + if (this.store && typeof(this.store.reader.jsonData.errorMsg) != 'undefined') { + Roo.MessageBox.alert("Error loading",this.store.reader.jsonData.errorMsg); + } + + + }, + // no cleaning of leading spaces on blur here. + cleanLeadingSpace : function(e) { }, + + + onSelectChange : function (view, sels, opts ) + { + var ix = view.getSelectedIndexes(); + + if (opts.list > this.maxColumns - 2) { + if (view.store.getCount()< 1) { + this.views[opts.list ].getEl().setStyle({ display : 'none' }); + + } else { + if (ix.length) { + // used to clear ?? but if we are loading unselected + this.setFromData(view.store.getAt(ix[0]).data); + } + + } + + return; + } + + if (!ix.length) { + // this get's fired when trigger opens.. + // this.setFromData({}); + var str = this.stores[opts.list+1]; + str.data.clear(); // removeall wihtout the fire events.. + return; + } + + var rec = view.store.getAt(ix[0]); + + this.setFromData(rec.data); + this.fireEvent('select', this, rec, ix[0]); + + var lw = Math.floor( + ( + (this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr') + ) / this.maxColumns + ); + this.loadingChildren = true; + this.stores[opts.list+1].loadDataFromChildren( rec ); + this.loadingChildren = false; + var dl = this.stores[opts.list+1]. getTotalCount(); + + this.views[opts.list+1].getEl().setHeight( this.innerLists[0].getHeight()); + + this.views[opts.list+1].getEl().setStyle({ display : dl ? 'block' : 'none' }); + for (var i = opts.list+2; i < this.views.length;i++) { + this.views[i].getEl().setStyle({ display : 'none' }); + } + + this.innerLists[opts.list+1].setHeight( this.innerLists[0].getHeight()); + this.list.setWidth(lw * (opts.list + (dl ? 2 : 1))); + + if (this.isLoading) { + // this.selectActive(opts.list); + } + + }, + + + + + onDoubleClick : function() + { + this.collapse(); //?? + }, + + + + + + // private + recordToStack : function(store, prop, value, stack) + { + var cstore = new Roo.data.SimpleStore({ + //fields : this.store.reader.meta.fields, // we need array reader.. for + reader : this.store.reader, + data : [ ] + }); + var _this = this; + var record = false; + var srec = false; + if(store.getCount() < 1){ + return false; + } + store.each(function(r){ + if(r.data[prop] == value){ + record = r; + srec = r; + return false; + } + if (r.data.cn && r.data.cn.length) { + cstore.loadDataFromChildren( r); + var cret = _this.recordToStack(cstore, prop, value, stack); + if (cret !== false) { + record = cret; + srec = r; + return false; + } + } + + return true; + }); + if (record == false) { + return false + } + stack.unshift(srec); + return record; + }, + + /* + * find the stack of stores that match our value. + * + * + */ + + selectActive : function () + { + // if store is not loaded, then we will need to wait for that to happen first. + var stack = []; + this.recordToStack(this.store, this.valueField, this.getValue(), stack); + for (var i = 0; i < stack.length; i++ ) { + this.views[i].select(stack[i].store.indexOf(stack[i]), false, false ); + } + + } + + + + + + +}); \ No newline at end of file diff --git a/Roo/util/Observable.js b/Roo/util/Observable.js index 19eb7318aa..5343a4d34c 100644 --- a/Roo/util/Observable.js +++ b/Roo/util/Observable.js @@ -356,10 +356,12 @@ Roo.util.Observable.releaseCapture = function(o){ var ls = this.listeners, scope, len = ls.length; if(len > 0){ this.firing = true; - var args = Array.prototype.slice.call(arguments, 0); + for(var i = 0; i < len; i++){ - var l = ls[i]; - if(l.fireFn.apply(l.scope||this.obj||window, arguments) === false){ + var args = Array.prototype.slice.call(arguments, 0); + var l = ls[i]; + args.push(l.options); + if(l.fireFn.apply(l.scope||this.obj||window, args) === false){ this.firing = false; return false; } diff --git a/buildSDK/dependancy_ui.txt b/buildSDK/dependancy_ui.txt index fb8a534028..6824712e11 100644 --- a/buildSDK/dependancy_ui.txt +++ b/buildSDK/dependancy_ui.txt @@ -91,6 +91,7 @@ Roo.form.DateField Roo.form.MonthField Roo.form.ComboBox Roo.form.ComboBoxArray +Roo.form.ComboNested Roo.form.Checkbox Roo.form.Radio Roo.HtmlEditorCore @@ -110,6 +111,7 @@ Roo.form.ComboCheck Roo.form.Signature Roo.form.Select + // Must be after view and form.field as it uses both. Roo.DDView diff --git a/css/combo.css b/css/combo.css index e540f5d0a4..932c8bc47a 100644 --- a/css/combo.css +++ b/css/combo.css @@ -151,4 +151,9 @@ { float: left; } - +/* needed for nested combo */ +.x-combo-list-item.x-combo-list-item-has-children:after { + content: '>'; + float: right; + margin-right: 2px; +} diff --git a/css/roojs.css b/css/roojs.css index f7faf0db4f..ecc5a7f971 100644 --- a/css/roojs.css +++ b/css/roojs.css @@ -7,11 +7,11 @@ body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquot .x-resizable-handle{position:absolute;z-index:100;font-size:1px;line-height:6px;overflow:hidden;background:white;filter:alpha(opacity=0);opacity:0;zoom:1;}.x-resizable-handle-east{width:6px;cursor:e-resize;right:0;top:0;height:100%;margin-right:-1px;}.x-resizable-handle-south{width:100%;cursor:s-resize;left:0;bottom:0;height:6px;margin-bottom:-1px;}.x-resizable-handle-west{width:6px;cursor:w-resize;left:0;top:0;height:100%;}.x-resizable-handle-north{width:100%;cursor:n-resize;left:0;top:0;height:6px;}.x-resizable-handle-southeast{width:6px;cursor:se-resize;right:0;bottom:0;height:6px;z-index:101;}.x-resizable-handle-northwest{width:6px;cursor:nw-resize;left:0;top:0;height:6px;z-index:101;}.x-resizable-handle-northeast{width:6px;cursor:ne-resize;right:0;top:0;height:6px;z-index:101;}.x-resizable-handle-southwest{width:6px;cursor:sw-resize;left:0;bottom:0;height:6px;z-index:101;}.x-resizable-over .x-resizable-handle,.x-resizable-pinned .x-resizable-handle{filter:alpha(opacity=100);opacity:1;}.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{background:url("../images/default/sizer/e-handle.gif");background-position:left;}.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{background:url("../images/default/sizer/e-handle.gif");background-position:left;}.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{background:url("../images/default/sizer/s-handle.gif");background-position:top;}.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{background:url("../images/default/sizer/s-handle.gif");background-position:top;}.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background:url("../images/default/sizer/corners-sprite.gif");background-position:top left;}.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background:url("../images/default/sizer/corners-sprite.gif");background-position:bottom right;}.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background:url("../images/default/sizer/corners-sprite.gif");background-position:bottom left;}.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background:url("../images/default/sizer/corners-sprite.gif");background-position:top right;}.x-resizable-proxy{border:1px dashed #6593cf;position:absolute;overflow:hidden;visibility:hidden;left:0;top:0;z-index:1001;}.x-resizable-overlay{width:100%;height:100%;display:none;position:absolute;left:0;top:0;background:white;z-index:20000;-moz-opacity:0;opacity:0;filter:alpha(opacity=0);border:1px solid red;} .x-grid{background-color:#FFF;position:relative;overflow:hidden;}.x-grid-locked,.x-grid-viewport{position:absolute;display:block;z-index:2;top:0;left:0;overflow:hidden;}.x-grid-scroller{overflow:auto;}.x-grid-hd-text{font-size:8pt;padding-left:6px;}.x-grid-hd-text,.x-grid-cell-text{display:block;overflow:hidden;padding:3px 5px;-moz-user-select:none;}.x-grid-col{cursor:default;height:16px!important;box-sizing:border-box;-moz-box-sizing:border-box;-moz-outline:none;-moz-user-focus:normal;overflow:hidden;border-left:1px solid #f1efe2;}.x-edit-grid .x-grid-col{-moz-outline:normal;}.x-grid-col,.x-grid-header{-o-text-overflow:ellipsis;text-overflow:ellipsis;}.x-grid-col-0{border-left:0;}.x-grid-col-last{border-right:1px solid #f1efe2;}.x-grid-editor{box-sizing:border-box;-moz-box-sizing:border-box;font:normal 8pt arial;border:1px solid #afbdc9;z-index:10;}.x-grid-editor input{font:normal 8pt arial;border:0;padding-top:2px;padding-left:3px;height:18px;}.x-grid-editor-container{overflow:hidden;display:block;background-color:white;}.x-grid-editor .pick-button{width:15px;height:20px;position:absolute;display:block;right:0;top:0;z-index:2;background-image:url(../images/default/grid/pick-button.gif);background-repeat:no-repeat;}.x-grid-editor-invalid{background-image:url(../images/default/grid/invalid_line.gif);background-repeat:repeat-x;background-position:bottom;border:1px solid #afbdc9;}.x-grid-checkbox-editor{text-align:center;overflow:hidden;display:block;background-color:white;}.x-grid-checkbox-editor input{margin-top:3px;height:13px;width:13px;}select.x-grid-editor{padding:0;-moz-outline:none;border:1px solid #afbdc9;}.x-grid-num-editor{text-align:right;padding-top:2px;padding-left:3px;}.x-grid-text-editor{padding-top:2px;padding-left:3px;}.x-grid-header{font:normal 8pt arial;background-color:#ebeadb;box-sizing:border-box;-moz-box-sizing:border-box;display:block;position:absolute;overflow:hidden;width:100%;height:22px;border-bottom:1px solid #333;cursor:pointer;}.x-grid-column-sizer{width:1px;border-right:1px dashed #6593cf;background:none;cursor:col-resize;}.x-grid-drag-proxy{width:150px;height:24px;background-color:#36c;border:1px solid #026;position:absolute;visibility:hidden;z-index:10000;}.x-grid-drag-text{font:normal 8pt arial;color:white;position:absolute;top:0;left:26px;padding:3px;display:block;}.x-grid-drop-icon{position:absolute;top:0;left:0;display:block;width:24px;height:100%;background-position:center;background-repeat:no-repeat;}.x-grid-drop-nodrop{background-image:url(../images/default/grid/drop-no.gif);}.x-grid-drop-ok{background-image:url(../images/default/grid/drop-yes.gif);}.x-grid-hd-row img.x-grid-sort-icon{height:4px;width:13px;border:0;margin-left:4px;vertical-align:middle;}.x-grid-hd-row .sort-asc img.x-grid-sort-icon{background-image:url(../images/default/grid/sort_asc.gif);background-position:right;background-repeat:no-repeat;}.x-grid-hd-row .sort-desc img.x-grid-sort-icon{background-image:url(../images/default/grid/sort_desc.gif);background-position:right;background-repeat:no-repeat;}.x-grid-hd-body{cursor:default;display:block;font:normal 8pt arial;left:0;overflow:hidden;padding:3px 5px;position:relative;top:0;white-space:nowrap;}.x-grid-hd-body span{font:normal 8pt arial;white-space:nowrap;}.x-grid-hd-over{border-bottom:2px solid #fcc247;}.x-grid-hd-over .x-grid-hd-body{background-color:#faf9f4;border-bottom:1px solid #f9a900;}.x-grid-split{background-image:url(../images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;cursor:e-resize;display:block;font-size:1px;height:16px;overflow:hidden;position:absolute;top:2px;width:6px;z-index:3;}.x-grid-hrow{background:#ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x;display:block;height:22px;left:0;position:relative;top:0;width:10000px;overflow:hidden;z-index:2;}.x-grid-hrow-frame{height:22px;left:0;display:block;position:absolute;top:0;width:10000px;z-index:1;}.x-grid-footer .x-toolbar{border:0;}.x-grid-page-number{width:24px;height:14px;}.x-grid-page-first button{background:url(../images/default/grid/page-first.gif) no-repeat;width:16px;}.x-grid-loading button{background:url(../images/default/grid/done.gif) no-repeat;width:16px;}.x-grid-page-last button{background:url(../images/default/grid/page-last.gif) no-repeat;width:16px;}.x-date-mp-next,.x-grid-page-next button{background:url(../images/default/grid/page-next.gif) no-repeat;width:16px;}.x-date-mp-prev,.x-grid-page-prev button{background:url(../images/default/grid/page-prev.gif) no-repeat;width:16px;}.x-date-mp-prev,.x-date-mp-next{display:block;width:16px;height:16px;}.x-item-disabled .x-grid-loading button{background:url(../images/default/grid/loading.gif) no-repeat;}.x-item-disabled .x-grid-page-first button{background:url(../images/default/grid/page-first-disabled.gif) no-repeat;}.x-item-disabled .x-grid-page-last button{background:url(../images/default/grid/page-last-disabled.gif) no-repeat;}.x-item-disabled .x-grid-page-next button{background:url(../images/default/grid/page-next-disabled.gif) no-repeat;}.x-item-disabled .x-grid-page-prev button{background:url(../images/default/grid/page-prev-disabled.gif) no-repeat;}.x-grid-mso .x-grid-header{background:none;border-bottom:0;}.x-grid-mso .x-grid-footer{border-top:1px solid #6593cf;}.x-grid-mso .x-grid-footer .x-grid-fbutton{border:0;}.x-grid-mso .x-grid-hd-body{border-bottom:0;}.x-grid-mso .x-grid-hd-over{border-bottom:0;}.x-grid-mso .x-grid-hd-over .x-grid-hd-body{background-color:transparent;}.x-grid-mso .x-grid-split{background-image:url(../images/default/grid/grid-blue-split.gif);}.x-grid-mso .x-toolbar .x-tb-sep{background-image:url(../images/default/grid/grid-blue-split.gif);}.x-grid-mso .x-grid-hrow{background:url(../images/default/grid/mso-hd.gif);border-bottom:1px solid #6593cf;height:21px;}.x-grid-mso .x-grid-row{color:black;border-bottom:1px solid #ddecfe;}.x-grid-mso .x-grid-row-alt{background-color:#f5f5f5;}.x-grid-mso .x-grid-row-selected{background-color:#b3c8e8!important;color:black;}.x-grid-mso .x-grid-row-selected span{color:black!important;}.x-props-grid .x-grid-col-1{background-color:#f1efe2;}.x-props-grid .x-grid-col-1 .x-grid-cell-text{background-color:white;}.x-props-grid .x-grid-col-0{background-color:#f1efe2;}.x-props-grid .x-grid-col-0 .x-grid-cell-text{background-color:white;margin-left:10px;}.x-props-grid .x-grid-prop-edting .x-grid-col-0 .x-grid-cell-text{background-color:#316ac5;color:white;}.x-props-grid .x-grid-prop-edting .x-grid-col-0{color:white;}.x-props-grid .x-grid-num-editor{text-align:left;}.x-grid-row td,.x-grid-hd-row td{font:normal 8pt tahoma,arial,helvetica;border-bottom:1px solid #f1efe2;border-left:1px solid #f1efe2;overflow:visible;white-space:nowrap;}.x-grid-row-alt{background-color:#fcfaf6;}.x-grid-row-over{background-color:#f1f1f1;color:black;}.x-grid-cell-selected,.x-grid-row-selected{background-color:#316ac5!important;color:white;}.x-grid-body{height:100%;left:0;overflow:hidden;position:relative;top:22px;}.x-grid-footer{display:block;padding:0;border-top:1px solid #cbc7b8;}.x-grid-wrap-footer{display:block;overflow:hidden;width:100%;height:25px;box-sizing:border-box;-moz-box-sizing:border-box;background-color:#ebeadb;position:absolute;bottom:0;}.x-grid-wrap-body{left:0;overflow:hidden;position:absolute;top:0;display:block;}.x-grid-wrap-headers{left:0;overflow:hidden;position:absolute;top:0;z-index:12;}.x-grid-simple-view .x-grid-col{height:100%!important;position:static;display:table-cell;display:inline-block;}.x-grid-simple-view .x-grid-row{position:static;display:table-row;}.x-paging-info{position:absolute;right:7px;top:7px;}.x-grid-topbar,.x-grid-bottombar{line-height:0;display:none;position:relative;height:24px;top:0;}.x-grid-editor .x-form-check-wrap{background-color:#FFF;padding:2px 0;}.x-grid-row-selected .x-grid-check-icon-toggle,.x-grid-check-icon-checked{background:transparent url(../../roojs1/images/default/menu/chk-sprite.gif) no-repeat scroll 0 -16px;height:16px;width:16px;}.x-grid-check-icon-toggle,.x-grid-check-icon{background:transparent url(../../roojs1/images/default/menu/chk-sprite.gif) no-repeat scroll 0 0;height:16px;width:16px;}.x-grid-dd-above td{border-top:20px solid #fcfcfc;}.x-grid-dd-below td{border-bottom:20px solid #fcfcfc;}.x-grid-row-fadeout{visibility:hidden;opacity:0;transition:visibility 0s 1s,opacity 1s linear;} .x-layout-container{width:100%;height:100%;overflow:hidden;background-color:#c3daf9;}.x-layout-collapsed{position:absolute;left:-10000px;top:-10000px;visibility:hidden;background-color:#c3daf9;width:20px;height:20px;overflow:hidden;border:1px solid #98c0f4;z-index:20;}.x-layout-collapsed-over{cursor:pointer;background-color:#d9e8fb;}.x-layout-collapsed-west .x-layout-tools-button{float:right;}.x-layout-collapsed-east .x-layout-tools-button{float:left;}.x-layout-collapsed-north,.x-layout-collapsed-south{text-align:right;}.x-layout-collapsed .x-layout-tools-button{margin:2px;width:12px;text-align:center;}.x-layout-inactive-content{position:absolute;left:-10000px;top:-10000px;visibility:hidden;}.x-layout-active-content{visibility:visible;}.x-layout-panel{position:absolute;border:1px solid #98c0f4;overflow:hidden;background-color:white;}.x-layout-panel-east,.x-layout-panel-west{z-index:10;}.x-layout-panel-north,.x-layout-panel-south{z-index:11;}.x-layout-collapsed-north,.x-layout-collapsed-south,.x-layout-collapsed-east,.x-layout-collapsed-west{z-index:12;}.x-layout-panel-body{overflow:hidden;}.x-layout-split{position:absolute;height:5px;width:5px;line-height:1px;font-size:1px;z-index:3;background-color:#c3daf9;}.x-layout-panel-hd{background-image:url(../images/default/layout/panel-title-light-bg.gif);color:black;border-bottom:1px solid #98c0f4;position:relative;}.x-layout-panel-hd-text{font:normal 11px tahoma,verdana,helvetica;padding:4px;padding-left:4px;display:block;white-space:nowrap;}.x-layout-panel-hd-tools{position:absolute;right:0;top:0;text-align:right;padding-top:2px;padding-right:2px;width:40px;}.x-layout-tools-button{z-index:6;padding:2px;float:right;cursor:pointer;}.x-layout-tools-button-over{padding:1px;border:1px solid #98c0f4;background-color:white;}.x-layout-tools-button-inner{height:12px;width:12px;line-height:1px;font-size:1px;background-repeat:no-repeat;background-position:center;}.x-layout-close{background-image:url(../images/default/layout/layout-sprite.gif);background-repeat:no-repeat;background-position:50% -48px;}.x-layout-collapse-west,.x-layout-expand-east{background-image:url(../images/default/layout/layout-sprite.gif);background-repeat:no-repeat;background-position:50% 0;}.x-layout-expand-west,.x-layout-collapse-east{background-image:url(../images/default/layout/layout-sprite.gif);background-repeat:no-repeat;background-position:50% -12px;}.x-layout-collapse-north,.x-layout-expand-south{background-image:url(../images/default/layout/layout-sprite.gif);background-repeat:no-repeat;background-position:50% -24px;}.x-layout-expand-north,.x-layout-collapse-south{background-image:url(../images/default/layout/layout-sprite.gif);background-repeat:no-repeat;background-position:50% -36px;}.x-layout-split-h{background-image:url(../images/default/sizer/e-handle.gif);background-position:left;cursor:col-resize;}.x-layout-split-v{background-image:url(../images/default/sizer/s-handle.gif);background-position:top;cursor:row-resize;}.x-layout-panel .x-tabs-wrap{background:url(../images/default/layout/gradient-bg.gif);}.x-layout-panel .roo-tabbody{background-color:white;overflow:auto;height:100%;}.x-layout-component-panel,.x-layout-nested-layout{position:relative;padding:0;overflow:hidden;width:200px;height:200px;}.x-layout-nested-layout .x-layout-panel{border:0 none;}.x-layout-nested-layout .x-layout-panel-north{border-bottom:1px solid #98c0f4;}.x-layout-nested-layout .x-layout-panel-south{border-top:1px solid #98c0f4;}.x-layout-nested-layout .x-layout-panel-east{border-left:1px solid #98c0f4;}.x-layout-nested-layout .x-layout-panel-west{border-right:1px solid #98c0f4;}.roo-repaint{zoom:1;background-color:transparent;}.x-layout-panel-dragover{border:2px solid #6593cf;}.x-layout-panel-proxy{background-image:url(../images/default/layout/gradient-bg.gif);background-color:#c3daf9;border:1px dashed #6593cf;z-index:10001;overflow:hidden;position:absolute;left:0;top:0;}.x-layout-slider{z-index:15;overflow:hidden;position:absolute;}.x-unselectable{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;cursor:default;}.x-splitbar-proxy{z-index:40009;visibility:hidden;position:absolute;background:#666;border:1px solid #000;overflow:hidden;}.x-splitbar-h,.x-splitbar-proxy-h{cursor:col-resize;}.x-splitbar-v,.x-splitbar-proxy-v{cursor:row-resize;}.x-grid-resize-proxy{z-index:40009;visibility:hidden;position:absolute;background:#666;border:1px solid #000;overflow:hidden;cursor:col-resize;overflow:hidden;width:2px;} -.x-dlg-proxy{background-image:url(../images/default/gradient-bg.gif);background-color:#c3daf9;border:1px solid #6593cf;z-index:10001;overflow:hidden;position:absolute;left:0;top:0;}.x-dlg-shadow{background:#aaa;position:absolute;left:0;top:0;}.x-dlg-focus{-moz-outline:0 none;outline:0 none;width:0;height:0;overflow:hidden;position:absolute;top:0;left:0;}.x-dlg-mask{z-index:10000;display:none;position:absolute;top:0;left:0;-moz-opacity:.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;}body.masked select{visibility:hidden;}body.masked .x-dlg select{visibility:visible;}.x-dlg{z-index:10001;overflow:hidden;position:absolute;left:300;top:0;}.x-resizable-proxy{z-index:10002;}.x-dlg .x-dlg-hd{background:url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;background-color:navy;color:#fff;font:bold 12px "sans serif",tahoma,verdana,helvetica;overflow:hidden;padding:5px;}.x-dlg .x-dlg-hd-left{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;padding-left:3px;margin:0;}.x-dlg .x-dlg-hd-right{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;padding-right:3px;}.x-dlg .x-dlg-dlg-body{background:url(../images/default/layout/gradient-bg.gif);border:1px solid #6593cf;border-top:0 none;padding:10px;overflow:hidden;position:absolute;}.x-dlg .x-dlg-bd{overflow:hidden;}.x-dlg .x-dlg-ft{overflow:hidden;padding:5px;padding-bottom:0;}.x-dlg .roo-tabbody{background:white;overflow:auto;}.x-dlg .x-tabs-top .roo-tabbody{border:1px solid #6593cf;border-top:0 none;}.x-dlg .x-tabs-bottom .roo-tabbody{border:1px solid #6593cf;border-bottom:0 none;}.x-dlg .x-layout-container .roo-tabbody{border:0 none;}.x-dlg .inner-tab{margin:5px;}.x-dlg .x-dlg-ft .x-btn{margin-right:5px;float:right;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns td{border:0;padding:0;}.x-dlg .x-dlg-ft .x-dlg-btns-right table{float:right;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns-left table{float:left;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns-center{text-align:center;}.x-dlg .x-dlg-ft .x-dlg-btns-center table{margin:0 auto;}.x-dlg-draggable .x-dlg-hd{cursor:move;}.x-dlg-closable .x-dlg-hd{padding-right:22px;}.x-dlg .x-dlg-close{position:absolute;top:4px;right:4px;z-index:6;height:15px;width:15px;margin:0;padding:0;line-height:1px;font-size:1px;background-repeat:no-repeat;cursor:pointer;visibility:inherit;background-image:url(../images/default/basic-dialog/close.gif);}.x-dlg div.x-resizable-handle-east{background-image:url(../images/default/sizer/e-handle-dark.gif);border:0;background-position:left;margin-right:0;}.x-dlg div.x-resizable-handle-south{background-image:url(../images/default/sizer/s-handle-dark.gif);border:0;height:6px;}.x-dlg div.x-resizable-handle-west{background-image:url(../images/default/sizer/e-handle-dark.gif);border:0;background-position:1px;}.x-dlg div.x-resizable-handle-north{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-northeast,.x-theme-gray .x-dlg div.x-resizable-handle-northeast{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-northwest,.x-theme-gray .x-dlg div.x-resizable-handle-northwest{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-southeast{background-image:url(../images/default/sizer/corners-sprite.gif);background-position:top left;width:8px;height:8px;border:0;}.x-dlg div.x-resizable-handle-southwest{background-image:url(../images/default/sizer/corners-sprite.gif);background-position:top right;margin-left:1px;margin-bottom:1px;border:0;}#x-msg-box .x-dlg-ft .x-btn{float:none;clear:none;margin:0 3px;}#x-msg-box .x-dlg-bd{padding:5px;overflow:hidden!important;}#x-msg-box .roo-mb-input{margin-top:4px;width:95%;}#x-msg-box .roo-mb-textarea,#x-msg-box .roo-mb-text{margin-top:4px;font:normal 13px "sans serif",tahoma,verdana,helvetica;display:inline;}#x-msg-box .roo-mb-progress-wrap{margin-top:4px;border:1px solid #6593cf;}#x-msg-box .roo-mb-progress{height:18px;background:transparent url(../images/default/basic-dialog/progress2.gif) repeat-x 1px 1px;}#x-msg-box .roo-mb-progress-bar{height:18px;overflow:hidden;width:0;background:#8bb8f3;} +.x-dlg-proxy{background-image:url(../images/default/gradient-bg.gif);background-color:#c3daf9;border:1px solid #6593cf;z-index:10001;overflow:hidden;position:absolute;left:0;top:0;}.x-dlg-shadow{background:#aaa;position:absolute;left:0;top:0;}.x-dlg-focus{-moz-outline:0 none;outline:0 none;width:0;height:0;overflow:hidden;position:absolute;top:0;left:0;}.x-dlg-mask{z-index:10000;display:none;position:absolute;top:0;left:0;-moz-opacity:.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;}.x-dlg-mask.roo-form-top-mask,.x-dlg-mask.roo-form-left-mask,.x-dlg-mask.roo-form-bottom-mask,.x-dlg-mask.roo-form-right-mask{background-color:gray;}body.masked select{visibility:hidden;}body.masked .x-dlg select{visibility:visible;}.x-dlg{z-index:10001;overflow:hidden;position:absolute;left:300;top:0;}.x-resizable-proxy{z-index:10002;}.x-dlg .x-dlg-hd{background:url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;background-color:navy;color:#fff;font:bold 12px "sans serif",tahoma,verdana,helvetica;overflow:hidden;padding:5px;}.x-dlg .x-dlg-hd-left{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;padding-left:3px;margin:0;}.x-dlg .x-dlg-hd-right{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;padding-right:3px;}.x-dlg .x-dlg-dlg-body{background:url(../images/default/layout/gradient-bg.gif);border:1px solid #6593cf;border-top:0 none;padding:10px;overflow:hidden;position:absolute;}.x-dlg .x-dlg-bd{overflow:hidden;}.x-dlg .x-dlg-ft{overflow:hidden;padding:5px;padding-bottom:0;}.x-dlg .roo-tabbody{background:white;overflow:auto;}.x-dlg .x-tabs-top .roo-tabbody{border:1px solid #6593cf;border-top:0 none;}.x-dlg .x-tabs-bottom .roo-tabbody{border:1px solid #6593cf;border-bottom:0 none;}.x-dlg .x-layout-container .roo-tabbody{border:0 none;}.x-dlg .inner-tab{margin:5px;}.x-dlg .x-dlg-ft .x-btn{margin-right:5px;float:right;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns td{border:0;padding:0;}.x-dlg .x-dlg-ft .x-dlg-btns-right table{float:right;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns-left table{float:left;clear:none;}.x-dlg .x-dlg-ft .x-dlg-btns-center{text-align:center;}.x-dlg .x-dlg-ft .x-dlg-btns-center table{margin:0 auto;}.x-dlg-draggable .x-dlg-hd{cursor:move;}.x-dlg-closable .x-dlg-hd{padding-right:22px;}.x-dlg .x-dlg-close{position:absolute;top:4px;right:4px;z-index:6;height:15px;width:15px;margin:0;padding:0;line-height:1px;font-size:1px;background-repeat:no-repeat;cursor:pointer;visibility:inherit;background-image:url(../images/default/basic-dialog/close.gif);}.x-dlg div.x-resizable-handle-east{background-image:url(../images/default/sizer/e-handle-dark.gif);border:0;background-position:left;margin-right:0;}.x-dlg div.x-resizable-handle-south{background-image:url(../images/default/sizer/s-handle-dark.gif);border:0;height:6px;}.x-dlg div.x-resizable-handle-west{background-image:url(../images/default/sizer/e-handle-dark.gif);border:0;background-position:1px;}.x-dlg div.x-resizable-handle-north{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-northeast,.x-theme-gray .x-dlg div.x-resizable-handle-northeast{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-northwest,.x-theme-gray .x-dlg div.x-resizable-handle-northwest{background-image:url(../images/default/s.gif);border:0;}.x-dlg div.x-resizable-handle-southeast{background-image:url(../images/default/sizer/corners-sprite.gif);background-position:top left;width:8px;height:8px;border:0;}.x-dlg div.x-resizable-handle-southwest{background-image:url(../images/default/sizer/corners-sprite.gif);background-position:top right;margin-left:1px;margin-bottom:1px;border:0;}#x-msg-box .x-dlg-ft .x-btn{float:none;clear:none;margin:0 3px;}#x-msg-box .x-dlg-bd{padding:5px;overflow:hidden!important;}#x-msg-box .roo-mb-input{margin-top:4px;width:95%;}#x-msg-box .roo-mb-textarea,#x-msg-box .roo-mb-text{margin-top:4px;font:normal 13px "sans serif",tahoma,verdana,helvetica;display:inline;}#x-msg-box .roo-mb-progress-wrap{margin-top:4px;border:1px solid #6593cf;}#x-msg-box .roo-mb-progress{height:18px;background:transparent url(../images/default/basic-dialog/progress2.gif) repeat-x 1px 1px;}#x-msg-box .roo-mb-progress-bar{height:18px;overflow:hidden;width:0;background:#8bb8f3;} .x-dd-drag-proxy{position:absolute;left:0;top:0;visibility:hidden;z-index:15000;}.x-dd-drag-ghost{color:black;font:normal 11px arial,helvetica,sans-serif;-moz-opacity:.85;opacity:.85;filter:alpha(opacity=85);border-top:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #bbb;border-bottom:1px solid #bbb;padding:3px;padding-left:20px;background-color:white;white-space:nowrap;}.x-dd-drag-repair .x-dd-drag-ghost{-moz-opacity:.4;opacity:.4;filter:alpha(opacity=40);border:0 none;padding:0;background-color:transparent;}.x-dd-drag-repair .x-dd-drop-icon{visibility:hidden;}.x-dd-drop-icon{position:absolute;top:3px;left:3px;display:block;width:16px;height:16px;background-color:transparent;background-position:center;background-repeat:no-repeat;z-index:1;}.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url(../images/default/dd/drop-no.gif);}.x-dd-drop-ok .x-dd-drop-icon{background-image:url(../images/default/dd/drop-yes.gif);}.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url(../images/default/dd/drop-add.gif);}.x-dd-drop-ok-sub .x-dd-drop-icon{background-image:url(../images/default/dd/drop-sub.gif);}.x-dd-drop-above .x-dd-drop-icon{background-image:url(../images/default/tree/drop-over.gif);}.x-dd-drop-below .x-dd-drop-icon{background-image:url(../images/default/tree/drop-under.gif);}.col-move-bottom{display:none;}.col-move-top{display:none;} .x-tree-icon,.x-tree-ec-icon,.x-tree-elbow-line,.x-tree-elbow,.x-tree-elbow-end,.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{border:0 none;height:18px;margin:0;padding:0;vertical-align:middle;width:16px;}.x-tree-node-collapsed .x-tree-node-icon,.x-tree-node-expanded .x-tree-node-icon,.x-tree-node-leaf .x-tree-node-icon{border:0 none;height:16px;margin:0;padding:0;vertical-align:middle;width:16px;background-position:center;}.x-tree-node-collapsed .x-tree-node-icon{background:transparent url(../images/default/tree/folder.gif);}.x-tree-node-expanded .x-tree-node-icon{background:transparent url(../images/default/tree/folder-open.gif);}.x-tree-node-leaf .x-tree-node-icon{background:transparent url(../images/default/tree/leaf.gif);}.x-tree-node-loading .x-tree-node-icon{background:transparent url(../images/default/tree/loading.gif)!important;}.x-tree-node-loading a span{font-style:italic;color:#444;}.x-tree-lines .x-tree-elbow{background:transparent url(../images/default/tree/elbow.gif);}.x-tree-lines .x-tree-elbow-plus{background:transparent url(../images/default/tree/elbow-plus.gif);}.x-tree-lines .x-tree-elbow-minus{background:transparent url(../images/default/tree/elbow-minus.gif);}.x-tree-lines .x-tree-elbow-end{background:transparent url(../images/default/tree/elbow-end.gif);}.x-tree-lines .x-tree-elbow-end-plus{background:transparent url(../images/default/tree/elbow-end-plus.gif);}.x-tree-lines .x-tree-elbow-end-minus{background:transparent url(../images/default/tree/elbow-end-minus.gif);}.x-tree-lines .x-tree-elbow-line{background:transparent url(../images/default/tree/elbow-line.gif);}.x-tree-no-lines .x-tree-elbow{background:transparent;}.x-tree-no-lines .x-tree-elbow-plus{background:transparent url(../images/default/tree/elbow-plus-nl.gif);}.x-tree-no-lines .x-tree-elbow-minus{background:transparent url(../images/default/tree/elbow-minus-nl.gif);}.x-tree-no-lines .x-tree-elbow-end{background:transparent;}.x-tree-no-lines .x-tree-elbow-end-plus{background:transparent url(../images/default/tree/elbow-end-plus-nl.gif);}.x-tree-no-lines .x-tree-elbow-end-minus{background:transparent url(../images/default/tree/elbow-end-minus-nl.gif);}.x-tree-no-lines .x-tree-elbow-line{background:transparent;}.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{cursor:pointer;}.x-tree-node{color:black;font:normal 11px arial,helvetica,sans-serif;white-space:nowrap;}.x-tree-node a,.x-dd-drag-ghost a{text-decoration:none;color:black;-khtml-user-select:normal;-moz-user-select:normal;}.x-tree-node a span,.x-dd-drag-ghost a span{text-decoration:none;color:black;padding:1px 3px 1px 2px;}.x-tree-node .x-tree-node-disabled a span{color:gray!important;}.x-tree-node .x-tree-node-disabled .x-tree-node-icon{-moz-opacity:.5;opacity:.5;filter:alpha(opacity=50);}.x-tree-node .x-tree-node-inline-icon{background:transparent;}.x-tree-node a:hover,.x-dd-drag-ghost a:hover{text-decoration:none;}.x-tree-node div.x-tree-drag-insert-below{border-bottom:1px dotted #36c;}.x-tree-node div.x-tree-drag-insert-above{border-top:1px dotted #36c;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{border-bottom:0 none;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{border-top:0 none;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom:2px solid #36c;}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top:2px solid #36c;}.x-tree-node .x-tree-drag-append a span{background:#ddd;border:1px dotted gray;}.x-tree-node .x-tree-selected a span{background:#36c;color:white;}.x-dd-drag-ghost .x-tree-node-indent,.x-dd-drag-ghost .x-tree-ec-icon{display:none!important;}.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url(../images/default/tree/drop-add.gif);}.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url(../images/default/tree/drop-over.gif);}.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url(../images/default/tree/drop-under.gif);}.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url(../images/default/tree/drop-between.gif);}.x-layer-shadow{background:#ccc;opacity:.3;-moz-opacity:.3;filter:alpha(opacity=30);}.x-column-tree .x-tree-node{zoom:1;}.x-column-tree .x-tree-node-el{border-bottom:1px solid #eee;border-right:1px solid #ccc;zoom:1;}.x-column-tree .x-tree-selected{background:#d9e8fb;}.x-column-tree .x-tree-node a{line-height:18px;vertical-align:middle;}.x-column-tree .x-tree-node .x-tree-selected a span{background:transparent;color:#000;}.x-column-tree .x-tree-col{float:left;overflow:hidden;padding:0;border-left:1px solid #ccc;height:18px;zoom:1;}.x-column-tree .x-tree-col-text,.x-column-tree .x-tree-hd-text{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;padding:3px 3px 3px 5px;white-space:nowrap;font:normal 11px arial,tahoma,helvetica,sans-serif;}.x-column-tree .x-tree-headers{background:#EBEADB url(../images/gray/grid/grid-hrow.gif) repeat-x scroll 0 0;cursor:default;zoom:1;}.x-column-tree .x-tree-hd{float:left;overflow:hidden;border-left:1px solid #eee;border-right:1px solid #d0d0d0;} .x-tip{position:absolute;top:0;visibility:hidden;z-index:11000;}.x-tip .x-tip-bd{background:#e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;border:1px solid #a3bad9;font:normal 11px arial,helvetica,sans-serif;padding:5px;}.x-tip .x-tip-close{background-image:url(../images/default/basic-dialog/close.gif);height:15px;position:absolute;right:3px;top:3px;width:15px;}.x-tip .x-tip-hd{background:url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 -82px;background-color:navy;color:#FFF;display:block;font:bold 11px tahoma,arial,verdana,helvetica;padding:4px;}.x-tip .x-tip-hd-left{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;display:block;margin:0;padding-left:3px;}.x-tip .x-tip-hd-right{background:url(../images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;display:block;padding-right:3px;}x\:qtip,qtip{display:none;} x-date{background:white;padding:2px;border:1px solid gray;z-index:12001;-moz-outline:none;position:absolute;display:none;top:0;left:0;}.x-date-shadow{background:#ddd;filter:progid:DXImageTransform.Microsoft.Blur(MakeShadow=true,pixelradius=1) Alpha(opacity=35,style=1,startX=0,finishX=200,FinishOpacity=35);padding:0;position:absolute;z-index:12000;display:none;top:0;left:0;}.x-date-head{width:150px;background:#93b5e4;}.x-date-head td{padding:1px;}.x-date-month{color:white;font:bold 7pt verdana;text-decoration:none;text-align:center;}.x-date-head .x-date-arrow{width:16px;text-align:center;cursor:pointer;-moz-user-select:none;}.x-date-picker{background:#ccc;width:190px;}.x-date-picker td{color:#aaa;cursor:pointer;font:normal 8pt arial;}td.x-date-middle{background:url(../images/default/basic-dialog/hd-sprite.gif);}td.x-date-middle td{background:none;color:#000;font-weight:bold;}td.x-date-right,td.x-date-left{background:url(../images/default/basic-dialog/hd-sprite.gif) repeat-x 0 0;text-align:center;width:18px;}td.x-date-right a{background:url(../images/default/grid/arrow-right-white.gif) no-repeat right center;cursor:pointer;text-decoration:none;width:18px;height:18px;}td.x-date-left a{background:url(../images/default/grid/arrow-left-white.gif) no-repeat 0 center;cursor:pointer;text-decoration:none;width:18px;height:18px;}.x-date-inner{background-color:white;position:relative;text-align:center;display:block;overflow:hidden;border-collapse:separate;}table.x-date-inner{table-layout:fixed;width:100%;}.x-date-inner td a{width:26px;height:26px;border-collapse:separate;display:block;}.x-date-mp a,.x-date-inner a{text-decoration:none;font-weight:bold;color:#000;}.x-date-picker td.x-date-today{border:1px solid darkred;}.x-date-picker .x-date-inner th{text-align:center!important;border:0;border-bottom:1px solid #ccc;font-size:8pt;font-weight:normal;text-align:right;color:black;cursor:default;}.x-date-picker td.active{cursor:pointer;color:black;}.x-date-picker td.x-date-disabled{cursor:default;background:#eee;border:1px solid #eee;color:#bbb;}.x-date-mp td.x-date-mp-sel,.x-date-picker td.x-date-selected{background:#ddecfe;border:1px solid #c3daf9;}.x-date-today{color:black;cursor:hand;font:normal 8pt arial;text-decoration:none;}.x-date-prevday,.x-date-nextday{background-color:#eee;}.x-date-mp{background-color:#ccc;display:none;position:absolute;top:0;left:0;}.x-date-mp table{text-align:center;background-color:#fff;}.x-date-picker td.x-date-middle td.x-btn-center button{color:white;}.x-date-bottom .ytb-spacer{display:none;}.x-menu-plain .x-color-palette,.x-menu-plain .x-date-picker{border:none;margin:0;}.x-menu .x-color-palette,.x-menu .x-date-picker{margin-left:32px;margin-right:4px;}.x-color-palette{pointer:pointer;width:150px;height:92px;}.x-color-palette a{border:1px solid white;pointer:pointer;float:left;padding:2px;text-decoration:none;outline:white none 0;}.x-color-palette em span{pointer:pointer;display:block;width:10px;height:10px;line-height:10px;}.x-color-palette em{display:block;border:1pt solid black;} -.x-combo-list{background-color:white;border:1px solid #afafaf;cursor:default;}.x-combo-list-inner{overflow:auto;}.x-combo-list-item{padding-left:2px;padding-top:0;margin:0;padding-bottom:2px;white-space:nowrap;}.x-combo-selected{background-color:#ABC9C2;color:black;border:1px solid #5e8a7f;}.x-form-date-trigger,.x-form-arrow-trigger{width:17px;height:19px;background:url(../images/default/combo/arrow.gif);background-repeat:no-repeat;background-position:center;}.roo-ie .x-form-field-wrap .x-form-trigger,.roo-ie .x-toolbar .x-form-arrow-trigger{margin:0;}.roo-ie .x-form-arrow-trigger,.roo-ie .x-form-date-trigger{height:18px;}.x-form .x-form-combo-add,.x-form .x-form-combo-edit{background:transparent url(../images/default/dd/drop-add.gif) no-repeat scroll 0 0;border-style:none none solid;cursor:pointer;height:21px;position:absolute;top:2;width:17px;margin-left:20px;}.x-form .x-form-combo-edit{background:transparent url(../images/default/tree/leaf.gif) no-repeat scroll 0 0;}.x-combo-list-inner .x-btn{text-align:left;font:12px arial,tahoma,verdana,helvetica;}.x-cbarray-item{display:inline-block;background:#e0ecff none no-repeat scroll 0 0;float:left;height:18px;-moz-border-radius:2px;margin:2px;float:left font-family:arial,tahoma,helvetica,sans-serif;font-size:11px;font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:normal;}.x-cbarray-item div{display:inline-block;float:left;margin:2px;margin-left:5px;}.x-cbarray-item img{margin-left:5px;background:transparent url(../images/default/dd/drop-sub.gif) no-repeat scroll 0 0;cursor:pointer;}.x-cbarray-cb{float:left;}.x-cbarray-grp{padding:2px;border:1px solid #e0ecff;display:inline-block;}.x-cbarray-grp input.x-form-text,.x-cbarray-grp img.x-form-trigger{float:left;} +.x-combo-list{background-color:white;border:1px solid #afafaf;cursor:default;}.x-combo-list-inner{overflow:auto;}.x-combo-list-item{padding-left:2px;padding-top:0;margin:0;padding-bottom:2px;white-space:nowrap;}.x-combo-selected{background-color:#ABC9C2;color:black;border:1px solid #5e8a7f;}.x-form-date-trigger,.x-form-arrow-trigger{width:17px;height:19px;background:url(../images/default/combo/arrow.gif);background-repeat:no-repeat;background-position:center;}.roo-ie .x-form-field-wrap .x-form-trigger,.roo-ie .x-toolbar .x-form-arrow-trigger{margin:0;}.roo-ie .x-form-arrow-trigger,.roo-ie .x-form-date-trigger{height:18px;}.x-form .x-form-combo-add,.x-form .x-form-combo-edit{background:transparent url(../images/default/dd/drop-add.gif) no-repeat scroll 0 0;border-style:none none solid;cursor:pointer;height:21px;position:absolute;top:2;width:17px;margin-left:20px;}.x-form .x-form-combo-edit{background:transparent url(../images/default/tree/leaf.gif) no-repeat scroll 0 0;}.x-combo-list-inner .x-btn{text-align:left;font:12px arial,tahoma,verdana,helvetica;}.x-cbarray-item{display:inline-block;background:#e0ecff none no-repeat scroll 0 0;float:left;height:18px;-moz-border-radius:2px;margin:2px;float:left font-family:arial,tahoma,helvetica,sans-serif;font-size:11px;font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:normal;}.x-cbarray-item div{display:inline-block;float:left;margin:2px;margin-left:5px;}.x-cbarray-item img{margin-left:5px;background:transparent url(../images/default/dd/drop-sub.gif) no-repeat scroll 0 0;cursor:pointer;}.x-cbarray-cb{float:left;}.x-cbarray-grp{padding:2px;border:1px solid #e0ecff;display:inline-block;}.x-cbarray-grp input.x-form-text,.x-cbarray-grp img.x-form-trigger{float:left;}.x-combo-list-item.x-combo-list-item-has-children:after{content:'>';float:right;margin-right:2px;} .x-form-daypick-item td div{width:30px;text-align:center;}.x-form-daypick-icons td img{background:url(../images/default/menu/chk-sprite.gif) no-repeat 0 0;width:16px;height:16px;margin:0;margin-left:5px;cursor:pointer;}.x-form-daypick-icons td img.x-menu-item-checked{background-position:0 -16px;} .x-html-editor-wrap{background-color:#fff;border:1px solid #a3bac9;}.x-html-editor-tb{height:24px;}.x-html-editor-tb .x-toolbar{height:24px;}.x-html-editor-tb .x-toolbar>table{position:absolute;}.x-html-editor-tb .x-btn-text{background:transparent url(../images/default/form/htmleditor.gif) no-repeat scroll 0 0;}.x-html-editor-tb .x-btn-text{min-width:18px;}.x-html-editor-tb .x-edit-bold .x-btn-text{background-position:0 0;}.x-html-editor-tb .x-edit-italic .x-btn-text{background-position:0 -16px;}.x-html-editor-tb .x-edit-underline .x-btn-text{background-position:0 -32px;}.x-html-editor-tb .x-edit-strikethrough .x-btn-text{background-position:0 -223px;}.x-html-editor-tb .x-edit-increasefontsize .x-btn-text{background-position:0 -48px;}.x-html-editor-tb .x-edit-decreasefontsize .x-btn-text{background-position:0 -64px;}.x-html-editor-tb .x-edit-insertorderedlist .x-btn-text{background-position:0 -80px;}.x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text{background-position:0 -96px;}.x-html-editor-tb .x-edit-justifyleft .x-btn-text{background-position:0 -112px;}.x-html-editor-tb .x-edit-justifycenter .x-btn-text{background-position:0 -128px;}.x-html-editor-tb .x-edit-justifyright .x-btn-text{background-position:0 -144px;}.x-html-editor-tb .x-edit-forecolor .x-btn-text{background-position:0 -160px;}.x-html-editor-tb .x-edit-backcolor .x-btn-text{background-position:0 -176px;}.x-html-editor-tb .x-edit-sourceedit .x-btn-text{background-position:0 -192px;}.x-html-editor-tb .x-edit-createlink .x-btn-text{background-position:0 -208px;}.x-html-editor-tb .x-edit-none .x-btn-text{background:transparent none 0 0;}.x-html-editor-tb .x-toolbar .x-btn{margin-left:0;margin-right:0;}.x-html-editor-wrap .x-toolbar{height:20px;}.x-html-editor-wrap .x-editor-context span{cursor:pointer;}.x-html-editor-wrap .x-editor-context span:hover{text-decoration:underline;}.roo-htmleditor-body ol li{list-style:decimal outside;}.roo-htmleditor-body ul li{list-style:disc outside;}.roo-htmleditor-body ol,.roo-htmleditor-body ul,.roo-htmleditor-body dl{margin-left:2em;} diff --git a/docs/json/roodata.json b/docs/json/roodata.json index 2bd8b2c648..53046b8701 100644 --- a/docs/json/roodata.json +++ b/docs/json/roodata.json @@ -34995,6 +34995,12 @@ "desc" : "default false", "memberOf" : "" }, + { + "name" : "height", + "type" : "Number", + "desc" : "fixed height - usefull for chrome extension only really.", + "memberOf" : "" + }, { "name" : "hideMode", "type" : "String", @@ -35076,6 +35082,12 @@ ], "memberOf" : "Roo.bootstrap.Component" }, + { + "name" : "width", + "type" : "Number", + "desc" : "fixed width - usefull for chrome extension only really.", + "memberOf" : "" + }, { "name" : "xattr", "type" : "Object", @@ -63189,6 +63201,14 @@ "static" : false, "memberOf" : "Roo.data.Store" }, + { + "name" : "loadDataFromChildren", + "type" : "function", + "desc" : "using 'cn' the nested child reader read the child array into it's child stores.", + "sig" : "(rec)", + "static" : false, + "memberOf" : "Roo.data.Store" + }, { "name" : "on", "type" : "function", @@ -63747,6 +63767,12 @@ }, "Roo.data.SimpleStore" : { "props" : [ + { + "name" : "an", + "type" : "Object", + "desc" : "existing reader (eg. copied from another store)", + "memberOf" : "" + }, { "name" : "baseParams", "type" : "Object", @@ -64085,6 +64111,14 @@ "static" : false, "memberOf" : "Roo.data.Store" }, + { + "name" : "loadDataFromChildren", + "type" : "function", + "desc" : "using 'cn' the nested child reader read the child array into it's child stores.", + "sig" : "(rec)", + "static" : false, + "memberOf" : "Roo.data.Store" + }, { "name" : "on", "type" : "function", @@ -64591,6 +64625,14 @@ "static" : false, "memberOf" : "" }, + { + "name" : "loadDataFromChildren", + "type" : "function", + "desc" : "using 'cn' the nested child reader read the child array into it's child stores.", + "sig" : "(rec)", + "static" : false, + "memberOf" : "" + }, { "name" : "on", "type" : "function", @@ -69503,6 +69545,15 @@ "desc" : "Parameters to pass with all requests. e.g. baseParams: {id: '123', foo: 'bar'}.", "memberOf" : "" }, + { + "name" : "errorMask", + "type" : "Boolean", + "desc" : [ + "(true", + "false)" + ], + "memberOf" : "" + }, { "name" : "errorReader", "type" : "DataReader", @@ -69521,6 +69572,12 @@ "desc" : "list of events and functions to call for this object, \nFor example :\n
\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  
", "memberOf" : "Roo.util.Observable" }, + { + "name" : "maskOffset", + "type" : "Number", + "desc" : "Default 100", + "memberOf" : "" + }, { "name" : "method", "type" : "String", @@ -70902,6 +70959,12 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, { "name" : "alwaysQuery", "type" : "Boolean", @@ -72036,6 +72099,12 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, { "name" : "autoCreate", "type" : "String/Object", @@ -73262,6 +73331,12 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, { "name" : "alwaysQuery", "type" : "Boolean", @@ -74376,7 +74451,7 @@ } ] }, - "Roo.form.DateField" : { + "Roo.form.ComboNested" : { "props" : [ { "name" : "actionMode", @@ -74384,6 +74459,12 @@ "desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'", "memberOf" : "Roo.Component" }, + { + "name" : "allQuery", + "type" : "String", + "desc" : "The text query to send to the server to return all records for the list with no filtering (defaults to '')", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "allowBlank", "type" : "Boolean", @@ -74397,16 +74478,22 @@ "memberOf" : "Roo.Component" }, { - "name" : "altFormats", - "type" : "String", - "desc" : "Multiple date formats separated by \"|\" to try when parsing a user input value and it doesn't match the defined\nformat (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').", - "memberOf" : "" + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "alwaysQuery", + "type" : "Boolean", + "desc" : "Disable caching of results, and always send query", + "memberOf" : "Roo.form.ComboBox" }, { "name" : "autoCreate", - "type" : "String/Object", - "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"10\", autocomplete: \"off\"})", - "memberOf" : "" + "type" : "Boolean/Object", + "desc" : "A DomHelper element spec, or true for a default element spec (defaults to:\n{tag: \"input\", type: \"text\", size: \"24\", autocomplete: \"off\"})", + "memberOf" : "Roo.form.ComboBox" }, { "name" : "blankText", @@ -74414,6 +74501,12 @@ "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")", "memberOf" : "Roo.form.TextField" }, + { + "name" : "blockFocus", + "type" : "Boolean", + "desc" : "Prevents all focus calls, so it can work with things like HTML edtor bar", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "cls", "type" : "String", @@ -74426,6 +74519,12 @@ "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").", "memberOf" : "Roo.Component" }, + { + "name" : "disableClear", + "type" : "Boolean", + "desc" : "Disable showing of clear button.", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "disableKeyFilter", "type" : "Boolean", @@ -74439,28 +74538,16 @@ "memberOf" : "Roo.form.Field" }, { - "name" : "disabledDates", - "type" : "Array", - "desc" : "An array of \"dates\" to disable, as strings. These strings will be used to build a dynamic regular\nexpression so they are very powerful. Some examples:\n\nIn order to support regular expressions, if you are using a date format that has \".\" in it, you will have to\nescape the dot when restricting dates. For example: [\"03\\\\.08\\\\.03\"].", - "memberOf" : "" - }, - { - "name" : "disabledDatesText", + "name" : "displayField", "type" : "String", - "desc" : "The tooltip text to display when the date falls on a disabled date (defaults to 'Disabled')", - "memberOf" : "" - }, - { - "name" : "disabledDays", - "type" : "Array", - "desc" : "An array of days to disable, 0 based. For example, [0, 6] disables Sunday and Saturday (defaults to null).", - "memberOf" : "" + "desc" : "The underlying data field name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'text' if mode = 'local')", + "memberOf" : "Roo.form.ComboBox" }, { - "name" : "disabledDaysText", - "type" : "String", - "desc" : "The tooltip to display when the date falls on a disabled day (defaults to 'Disabled')", - "memberOf" : "" + "name" : "editable", + "type" : "Boolean", + "desc" : "False to prevent the user from typing text directly into the field, just like a\ntraditional select (defaults to true)", + "memberOf" : "Roo.form.ComboBox" }, { "name" : "emptyText", @@ -74487,10 +74574,34 @@ "memberOf" : "Roo.form.Field" }, { - "name" : "format", - "type" : "String", - "desc" : "The default date format string which can be overriden for localization support. The format must be\nvalid according to {@link Date#parseDate} (defaults to 'm/d/y').", - "memberOf" : "" + "name" : "forceSelection", + "type" : "Boolean", + "desc" : "True to restrict the selected value to one of the values in the list, false to\nallow the user to set arbitrary text into the field (defaults to false)", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "grow", + "type" : "Boolean", + "desc" : "", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "growMax", + "type" : "Number", + "desc" : "", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "growMin", + "type" : "Number", + "desc" : "", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "handleHeight", + "type" : "Number", + "desc" : "The height in pixels of the dropdown list resize handle if resizable = true (defaults to 8)", + "memberOf" : "Roo.form.ComboBox" }, { "name" : "height", @@ -74498,6 +74609,12 @@ "desc" : "height (optional) size of component", "memberOf" : "Roo.BoxComponent" }, + { + "name" : "hiddenName", + "type" : "String", + "desc" : "If specified, a hidden form field with this name is dynamically generated to store the\nfield's data value (defaults to the underlying DOM element's name)", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "hideMode", "type" : "String", @@ -74528,8 +74645,32 @@ { "name" : "invalidText", "type" : "String", - "desc" : "The error text to display when the date in the field is invalid (defaults to\n'{value} is not a valid date - it must be in the format {format}').", - "memberOf" : "" + "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")", + "memberOf" : "Roo.form.Field" + }, + { + "name" : "lazyRender", + "type" : "Boolean", + "desc" : "True to prevent the ComboBox from rendering until requested (should always be used when\nrendering into an Roo.Editor, defaults to false)", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "listAlign", + "type" : "String", + "desc" : "A valid anchor position value. See {@link Roo.Element#alignTo} for details on supported\nanchor positions (defaults to 'tl-bl')", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "listClass", + "type" : "String", + "desc" : "CSS class to apply to the dropdown list element (defaults to '')", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "listWidth", + "type" : "Number", + "desc" : "The width in pixels of the dropdown list (defaults to the width of the ComboBox field)", + "memberOf" : "Roo.form.ComboBox" }, { "name" : "listeners", @@ -74537,12 +74678,24 @@ "desc" : "list of events and functions to call for this object, \nFor example :\n
\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  
", "memberOf" : "Roo.util.Observable" }, + { + "name" : "loadingText", + "type" : "String", + "desc" : "The text to display in the dropdown list while data is loading. Only applies\nwhen mode = 'remote' (defaults to 'Loading...')", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "maskRe", "type" : "String", "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)", "memberOf" : "Roo.form.TextField" }, + { + "name" : "maxHeight", + "type" : "Number", + "desc" : "The maximum height in pixels of the dropdown list before scrollbars are shown (defaults to 300)", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "maxLength", "type" : "Number", @@ -74556,16 +74709,10 @@ "memberOf" : "Roo.form.TextField" }, { - "name" : "maxText", - "type" : "String", - "desc" : "The error text to display when the date in the cell is after maxValue (defaults to\n'The date in this field must be before {maxValue}').", - "memberOf" : "" - }, - { - "name" : "maxValue", - "type" : "Date/String", - "desc" : "The maximum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).", - "memberOf" : "" + "name" : "minChars", + "type" : "Number", + "desc" : "The minimum number of characters the user must type before autocomplete and typeahead activate\n(defaults to 4, does not apply if editable = false)", + "memberOf" : "Roo.form.ComboBox" }, { "name" : "minLength", @@ -74580,16 +74727,16 @@ "memberOf" : "Roo.form.TextField" }, { - "name" : "minText", - "type" : "String", - "desc" : "The error text to display when the date in the cell is before minValue (defaults to\n'The date in this field must be after {minValue}').", - "memberOf" : "" + "name" : "minListWidth", + "type" : "Number", + "desc" : "The minimum width of the dropdown list in pixels (defaults to 70, will be ignored if\nlistWidth has a higher value)", + "memberOf" : "Roo.form.ComboBox" }, { - "name" : "minValue", - "type" : "Date/String", - "desc" : "The minimum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).", - "memberOf" : "" + "name" : "mode", + "type" : "String", + "desc" : "Set to 'local' if the ComboBox loads local data (defaults to 'remote' which loads from the server)", + "memberOf" : "Roo.form.ComboBox" }, { "name" : "msgFx", @@ -74609,12 +74756,30 @@ "desc" : "The field's HTML name attribute.", "memberOf" : "Roo.form.Field" }, + { + "name" : "pageSize", + "type" : "Number", + "desc" : "If greater than 0, a paging toolbar is displayed in the footer of the dropdown list and the\nfilter queries will execute with page start and limit parameters. Only applies when mode = 'remote' (defaults to 0)", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "qtip", "type" : "String", "desc" : "Mouse over tip", "memberOf" : "Roo.form.Field" }, + { + "name" : "queryDelay", + "type" : "Number", + "desc" : "The length of time in milliseconds to delay between the start of typing and sending the\nquery to filter the dropdown list (defaults to 500 if mode = 'remote' or 10 if mode = 'local')", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "queryParam", + "type" : "String", + "desc" : "Name of the query as it will be passed on the querystring (defaults to 'query')", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "readOnly", "type" : "Boolean", @@ -74633,11 +74798,35 @@ "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")", "memberOf" : "Roo.form.TextField" }, + { + "name" : "resizable", + "type" : "Boolean", + "desc" : "True to add a resize handle to the bottom of the dropdown list (defaults to false)", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "selectOnFocus", "type" : "Boolean", - "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)", - "memberOf" : "Roo.form.TextField" + "desc" : "True to select any existing text in the field immediately on focus. Only applies\nwhen editable = true (defaults to false)", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "selectedClass", + "type" : "String", + "desc" : "CSS class to apply to the selected item in the dropdown list (defaults to 'x-combo-selected')", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "shadow", + "type" : "Boolean/String", + "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\" for bottom-right", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "store", + "type" : "Roo.data.Store", + "desc" : "The data store to which this combo is bound (defaults to undefined)", + "memberOf" : "Roo.form.ComboBox" }, { "name" : "tabIndex", @@ -74645,17 +74834,47 @@ "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).", "memberOf" : "Roo.form.Field" }, + { + "name" : "title", + "type" : "String", + "desc" : "If supplied, a header element is created containing this text and added into the top of\nthe dropdown list (defaults to undefined, with no header element)", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "tpl", + "type" : "String/Roo.Template", + "desc" : "The template to use to render the output", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "transform", + "type" : "String/HTMLElement/Element", + "desc" : "The id, DOM node or element of an existing select to convert to a ComboBox", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "triggerAction", + "type" : "String", + "desc" : "The action to execute when the trigger field is activated. Use 'all' to run the\nquery specified by the allQuery config option (defaults to 'query')", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "triggerClass", "type" : "String", - "desc" : "An additional CSS class used to style the trigger button. The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be appended if specified (defaults to 'x-form-date-trigger'\nwhich displays a calendar icon).", - "memberOf" : "" + "desc" : "An additional CSS class used to style the trigger button. The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be appended if specified (defaults to 'x-form-arrow-trigger'\nwhich displays a downward arrow icon).", + "memberOf" : "Roo.form.ComboBox" }, { - "name" : "useIso", + "name" : "typeAhead", "type" : "Boolean", - "desc" : "if enabled, then the date field will use a hidden field to store the \nreal value as iso formated date. default (false)", - "memberOf" : "" + "desc" : "True to populate and autoselect the remainder of the text being typed after a configurable\ndelay (typeAheadDelay) if it matches a known value (defaults to false)", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "typeAheadDelay", + "type" : "Number", + "desc" : "The length of time in milliseconds to wait until the typeahead text is displayed\nif typeAhead = true (defaults to 250)", + "memberOf" : "Roo.form.ComboBox" }, { "name" : "validateOnBlur", @@ -74687,6 +74906,18 @@ "desc" : "A value to initialize this field with.", "memberOf" : "Roo.form.Field" }, + { + "name" : "valueField", + "type" : "String", + "desc" : "The underlying data value name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'value' if mode = 'local'). \nNote: use of a valueField requires the user make a selection\nin order for a value to be mapped.", + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "valueNotFoundText", + "type" : "String", + "desc" : "When using a name/value combo, if the value passed to setValue is not found in\nthe store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined)", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "vtype", "type" : "String", @@ -74701,6 +74932,13 @@ } ], "events" : [ + { + "name" : "add", + "type" : "function", + "desc" : "Fires when the 'add' icon is pressed (add a listener to enable add button)", + "sig" : "function (combo)\n{\n\n}", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "autosize", "type" : "function", @@ -74722,6 +74960,13 @@ "sig" : "function (_self)\n{\n\n}", "memberOf" : "Roo.Component" }, + { + "name" : "beforequery", + "type" : "function", + "desc" : "Fires before all queries are processed. Return false to cancel the query or set cancel to true.\nThe event object passed has these properties:", + "sig" : "function (combo, query, forceAll, cancel, e)\n{\n\n}", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "beforerender", "type" : "function", @@ -74729,6 +74974,13 @@ "sig" : "function (_self)\n{\n\n}", "memberOf" : "Roo.Component" }, + { + "name" : "beforeselect", + "type" : "function", + "desc" : "Fires before a list item is selected. Return false to cancel the selection.", + "sig" : "function (combo, record, index)\n{\n\n}", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "beforeshow", "type" : "function", @@ -74750,6 +75002,13 @@ "sig" : "function (_self, newValue, oldValue)\n{\n\n}", "memberOf" : "Roo.form.Field" }, + { + "name" : "collapse", + "type" : "function", + "desc" : "Fires when the dropdown list is collapsed", + "sig" : "function (combo)\n{\n\n}", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "destroy", "type" : "function", @@ -74764,6 +75023,13 @@ "sig" : "function (_self)\n{\n\n}", "memberOf" : "Roo.Component" }, + { + "name" : "edit", + "type" : "function", + "desc" : "Fires when the 'edit' icon is pressed (add a listener to enable add button)", + "sig" : "function (combo, record)\n{\n\n}", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "enable", "type" : "function", @@ -74771,6 +75037,13 @@ "sig" : "function (_self)\n{\n\n}", "memberOf" : "Roo.Component" }, + { + "name" : "expand", + "type" : "function", + "desc" : "Fires when the dropdown list is expanded", + "sig" : "function (combo)\n{\n\n}", + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "focus", "type" : "function", @@ -74823,9 +75096,9 @@ { "name" : "select", "type" : "function", - "desc" : "Fires when a date is selected", - "sig" : "function (combo, date)\n{\n\n}", - "memberOf" : "" + "desc" : "Fires when a list item is selected", + "sig" : "function (combo, record, index)\n{\n\n}", + "memberOf" : "Roo.form.ComboBox" }, { "name" : "show", @@ -74898,6 +75171,22 @@ "static" : false, "memberOf" : "Roo.form.Field" }, + { + "name" : "clearValue", + "type" : "function", + "desc" : "Clears any text/value currently set in the field", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "collapse", + "type" : "function", + "desc" : "Hides the dropdown list if it is currently expanded. Fires the 'collapse' event on completion.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "destroy", "type" : "function", @@ -74914,6 +75203,14 @@ "static" : false, "memberOf" : "Roo.Component" }, + { + "name" : "doQuery", + "type" : "function", + "desc" : "Execute a query to filter the dropdown list. Fires the beforequery event prior to performing the\nquery allowing the query action to be canceled if needed.", + "sig" : "(query, forceAll)", + "static" : false, + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "enable", "type" : "function", @@ -74922,6 +75219,14 @@ "static" : false, "memberOf" : "Roo.Component" }, + { + "name" : "expand", + "type" : "function", + "desc" : "Expands the dropdown list if it is currently hidden. Fires the 'expand' event on completion.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "fireEvent", "type" : "function", @@ -74997,10 +75302,10 @@ { "name" : "getValue", "type" : "function", - "desc" : "Returns the current date value of the date field.", + "desc" : "Returns the currently selected field value or empty string if no value is set.", "sig" : "()\n{\n\n}", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.ComboBox" }, { "name" : "hasChanged", @@ -75034,6 +75339,14 @@ "static" : false, "memberOf" : "Roo.form.Field" }, + { + "name" : "isExpanded", + "type" : "function", + "desc" : "Returns true if the dropdown list is expanded, else false.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "isValid", "type" : "function", @@ -75138,6 +75451,22 @@ "static" : false, "memberOf" : "Roo.form.Field" }, + { + "name" : "select", + "type" : "function", + "desc" : "Select an item in the dropdown list by its numeric index in the list. This function does NOT cause the select event to fire.\nThe store must be loaded and the list expanded for this function to work, otherwise use setValue.", + "sig" : "(index, scrollIntoView)", + "static" : false, + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "selectByValue", + "type" : "function", + "desc" : "Select an item in the dropdown list by its data value. This function does NOT cause the select event to fire.\nThe store must be loaded and the list expanded for this function to work, otherwise use setValue.", + "sig" : "(value, scrollIntoView)", + "static" : false, + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "selectText", "type" : "function", @@ -75154,6 +75483,22 @@ "static" : false, "memberOf" : "Roo.Component" }, + { + "name" : "setEditable", + "type" : "function", + "desc" : "Allow or prevent the user from directly editing the field text. If false is passed,\nthe user will only be able to select from the items defined in the dropdown list. This method\nis the runtime equivalent of setting the 'editable' config option at config time.", + "sig" : "(value)", + "static" : false, + "memberOf" : "Roo.form.ComboBox" + }, + { + "name" : "setFromData", + "type" : "function", + "desc" : "Sets the value of the field based on a object which is related to the record format for the store.", + "sig" : "(value)", + "static" : false, + "memberOf" : "Roo.form.ComboBox" + }, { "name" : "setPagePosition", "type" : "function", @@ -75189,10 +75534,10 @@ { "name" : "setValue", "type" : "function", - "desc" : "Sets the value of the date field. You can pass a date object or any string that can be parsed into a valid\ndate, using DateField.format as the date format, according to the same rules as {@link Date#parseDate}\n(the default format used is \"m/d/y\").\n
Usage:\n
\n//All of these calls set the same date value (May 4, 2006)\n\n//Pass a date object:\nvar dt = new Date('5/4/06');\ndateField.setValue(dt);\n\n//Pass a date string (default format):\ndateField.setValue('5/4/06');\n\n//Pass a date string (custom format):\ndateField.format = 'Y-m-d';\ndateField.setValue('2006-5-4');\n
", - "sig" : "(date)", + "desc" : "Sets the specified value into the field. If the value finds a match, the corresponding record text\nwill be displayed in the field. If the value does not match the data value of an existing item,\nand the valueNotFoundText config option is defined, it will be displayed as the default field text.\nOtherwise the field will be blank (although the value will still be set).", + "sig" : "(value)", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.ComboBox" }, { "name" : "setVisible", @@ -75252,7 +75597,7 @@ } ] }, - "Roo.form.DayPicker" : { + "Roo.form.DateField" : { "props" : [ { "name" : "actionMode", @@ -75260,18 +75605,42 @@ "desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'", "memberOf" : "Roo.Component" }, + { + "name" : "allowBlank", + "type" : "Boolean", + "desc" : "False to validate that the value length > 0 (defaults to true)", + "memberOf" : "Roo.form.TextField" + }, { "name" : "allowDomMove", "type" : "Boolean", "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "altFormats", + "type" : "String", + "desc" : "Multiple date formats separated by \"|\" to try when parsing a user input value and it doesn't match the defined\nformat (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').", + "memberOf" : "" + }, { "name" : "autoCreate", "type" : "String/Object", - "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})", + "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"10\", autocomplete: \"off\"})", "memberOf" : "" }, + { + "name" : "blankText", + "type" : "String", + "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")", + "memberOf" : "Roo.form.TextField" + }, { "name" : "cls", "type" : "String", @@ -75284,6 +75653,12 @@ "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").", "memberOf" : "Roo.Component" }, + { + "name" : "disableKeyFilter", + "type" : "Boolean", + "desc" : "True to disable input keystroke filtering (defaults to false)", + "memberOf" : "Roo.form.TextField" + }, { "name" : "disabled", "type" : "Boolean", @@ -75291,11 +75666,41 @@ "memberOf" : "Roo.form.Field" }, { - "name" : "fieldClass", + "name" : "disabledDates", + "type" : "Array", + "desc" : "An array of \"dates\" to disable, as strings. These strings will be used to build a dynamic regular\nexpression so they are very powerful. Some examples:\n\nIn order to support regular expressions, if you are using a date format that has \".\" in it, you will have to\nescape the dot when restricting dates. For example: [\"03\\\\.08\\\\.03\"].", + "memberOf" : "" + }, + { + "name" : "disabledDatesText", "type" : "String", - "desc" : "The default CSS class for the checkbox (defaults to \"x-form-field\")", + "desc" : "The tooltip text to display when the date falls on a disabled date (defaults to 'Disabled')", "memberOf" : "" }, + { + "name" : "disabledDays", + "type" : "Array", + "desc" : "An array of days to disable, 0 based. For example, [0, 6] disables Sunday and Saturday (defaults to null).", + "memberOf" : "" + }, + { + "name" : "disabledDaysText", + "type" : "String", + "desc" : "The tooltip to display when the date falls on a disabled day (defaults to 'Disabled')", + "memberOf" : "" + }, + { + "name" : "emptyText", + "type" : "String", + "desc" : "The default text to display in an empty field - placeholder... (defaults to null).", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "fieldClass", + "type" : "String", + "desc" : "The default CSS class for the field (defaults to \"x-form-field\")", + "memberOf" : "Roo.form.Field" + }, { "name" : "fieldLabel", "type" : "String", @@ -75305,7 +75710,13 @@ { "name" : "focusClass", "type" : "String", - "desc" : "The CSS class to use when the checkbox receives focus (defaults to undefined)", + "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")", + "memberOf" : "Roo.form.Field" + }, + { + "name" : "format", + "type" : "String", + "desc" : "The default date format string which can be overriden for localization support. The format must be\nvalid according to {@link Date#parseDate} (defaults to 'm/d/y').", "memberOf" : "" }, { @@ -75323,6 +75734,12 @@ ], "memberOf" : "Roo.Component" }, + { + "name" : "hideTrigger", + "type" : "Boolean", + "desc" : "True to hide the trigger element and display only the base text field (defaults to false)", + "memberOf" : "Roo.form.TriggerField" + }, { "name" : "inputType", "type" : "String", @@ -75338,8 +75755,8 @@ { "name" : "invalidText", "type" : "String", - "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")", - "memberOf" : "Roo.form.Field" + "desc" : "The error text to display when the date in the field is invalid (defaults to\n'{value} is not a valid date - it must be in the format {format}').", + "memberOf" : "" }, { "name" : "listeners", @@ -75347,6 +75764,60 @@ "desc" : "list of events and functions to call for this object, \nFor example :\n
\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  
", "memberOf" : "Roo.util.Observable" }, + { + "name" : "maskRe", + "type" : "String", + "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "maxLength", + "type" : "Number", + "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "maxLengthText", + "type" : "String", + "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "maxText", + "type" : "String", + "desc" : "The error text to display when the date in the cell is after maxValue (defaults to\n'The date in this field must be before {maxValue}').", + "memberOf" : "" + }, + { + "name" : "maxValue", + "type" : "Date/String", + "desc" : "The maximum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).", + "memberOf" : "" + }, + { + "name" : "minLength", + "type" : "Number", + "desc" : "Minimum input field length required (defaults to 0)", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "minLengthText", + "type" : "String", + "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "minText", + "type" : "String", + "desc" : "The error text to display when the date in the cell is before minValue (defaults to\n'The date in this field must be after {minValue}').", + "memberOf" : "" + }, + { + "name" : "minValue", + "type" : "Date/String", + "desc" : "The minimum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).", + "memberOf" : "" + }, { "name" : "msgFx", "type" : "String", @@ -75377,12 +75848,42 @@ "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.", "memberOf" : "Roo.form.Field" }, + { + "name" : "regex", + "type" : "RegExp", + "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value. If the test fails, the field will be marked invalid using {@link #regexText}.", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "regexText", + "type" : "String", + "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "selectOnFocus", + "type" : "Boolean", + "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)", + "memberOf" : "Roo.form.TextField" + }, { "name" : "tabIndex", "type" : "Number", "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).", "memberOf" : "Roo.form.Field" }, + { + "name" : "triggerClass", + "type" : "String", + "desc" : "An additional CSS class used to style the trigger button. The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be appended if specified (defaults to 'x-form-date-trigger'\nwhich displays a calendar icon).", + "memberOf" : "" + }, + { + "name" : "useIso", + "type" : "Boolean", + "desc" : "if enabled, then the date field will use a hidden field to store the \nreal value as iso formated date. default (false)", + "memberOf" : "" + }, { "name" : "validateOnBlur", "type" : "Boolean", @@ -75401,12 +75902,24 @@ "desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").", "memberOf" : "Roo.form.Field" }, + { + "name" : "validator", + "type" : "Function", + "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.", + "memberOf" : "Roo.form.TextField" + }, { "name" : "value", "type" : "Mixed", "desc" : "A value to initialize this field with.", "memberOf" : "Roo.form.Field" }, + { + "name" : "vtype", + "type" : "String", + "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)", + "memberOf" : "Roo.form.TextField" + }, { "name" : "width", "type" : "Number", @@ -75415,6 +75928,13 @@ } ], "events" : [ + { + "name" : "autosize", + "type" : "function", + "desc" : "Fires when the autosize function is triggered. The field may or may not have actually changed size\naccording to the default logic, but this event provides a hook for the developer to apply additional\nlogic at runtime to resize the field if needed.", + "sig" : "function (_self, width)\n{\n\n}", + "memberOf" : "Roo.form.TextField" + }, { "name" : "beforedestroy", "type" : "function", @@ -75527,6 +76047,13 @@ "sig" : "function (_self, adjWidth, adjHeight, rawWidth, rawHeight)\n{\n\n}", "memberOf" : "Roo.BoxComponent" }, + { + "name" : "select", + "type" : "function", + "desc" : "Fires when a date is selected", + "sig" : "function (combo, date)\n{\n\n}", + "memberOf" : "" + }, { "name" : "show", "type" : "function", @@ -75574,6 +76101,14 @@ "static" : false, "memberOf" : "Roo.form.Field" }, + { + "name" : "autoSize", + "type" : "function", + "desc" : "", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.form.TriggerField" + }, { "name" : "capture", "type" : "function", @@ -75689,7 +76224,7 @@ { "name" : "getValue", "type" : "function", - "desc" : "Returns the checked state of the checkbox.", + "desc" : "Returns the current date value of the date field.", "sig" : "()\n{\n\n}", "static" : false, "memberOf" : "" @@ -75774,6 +76309,14 @@ "static" : false, "memberOf" : "Roo.BoxComponent" }, + { + "name" : "onTriggerClick", + "type" : "function", + "desc" : "The function that should handle the trigger's click event. This method does nothing by default until overridden\nby an implementing function.", + "sig" : "(e)", + "static" : false, + "memberOf" : "Roo.form.TriggerField" + }, { "name" : "purgeListeners", "type" : "function", @@ -75809,10 +76352,10 @@ { "name" : "reset", "type" : "function", - "desc" : "Resets the current field value to the originally loaded value and clears any validation messages", + "desc" : "Resets the current field value to the originally-loaded value and clears any validation messages.", "sig" : "()\n{\n\n}", "static" : false, - "memberOf" : "Roo.form.Field" + "memberOf" : "Roo.form.TextField" }, { "name" : "resetHasChanged", @@ -75822,6 +76365,14 @@ "static" : false, "memberOf" : "Roo.form.Field" }, + { + "name" : "selectText", + "type" : "function", + "desc" : "Selects text in this field", + "sig" : "(start, end)", + "static" : false, + "memberOf" : "Roo.form.TextField" + }, { "name" : "setDisabled", "type" : "function", @@ -75865,8 +76416,8 @@ { "name" : "setValue", "type" : "function", - "desc" : "Sets the checked state of the checkbox.\nOn is always based on a string comparison between inputValue and the param.", - "sig" : "(value, suppressEvent)", + "desc" : "Sets the value of the date field. You can pass a date object or any string that can be parsed into a valid\ndate, using DateField.format as the date format, according to the same rules as {@link Date#parseDate}\n(the default format used is \"m/d/y\").\n
Usage:\n
\n//All of these calls set the same date value (May 4, 2006)\n\n//Pass a date object:\nvar dt = new Date('5/4/06');\ndateField.setValue(dt);\n\n//Pass a date string (default format):\ndateField.setValue('5/4/06');\n\n//Pass a date string (custom format):\ndateField.format = 'Y-m-d';\ndateField.setValue('2006-5-4');\n
", + "sig" : "(date)", "static" : false, "memberOf" : "" }, @@ -75917,10 +76468,18 @@ "sig" : "()\n{\n\n}", "static" : false, "memberOf" : "Roo.form.Field" + }, + { + "name" : "validateValue", + "type" : "function", + "desc" : "Validates a value according to the field's validation rules and marks the field as invalid\nif the validation fails", + "sig" : "(value)", + "static" : false, + "memberOf" : "Roo.form.TextField" } ] }, - "Roo.form.DisplayField" : { + "Roo.form.DayPicker" : { "props" : [ { "name" : "actionMode", @@ -75940,15 +76499,6 @@ "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})", "memberOf" : "" }, - { - "name" : "closable", - "type" : "Boolean", - "desc" : [ - "(true", - "false)" - ], - "memberOf" : "" - }, { "name" : "cls", "type" : "String", @@ -76084,12 +76634,6 @@ "desc" : "A value to initialize this field with.", "memberOf" : "Roo.form.Field" }, - { - "name" : "valueRenderer", - "type" : "Function", - "desc" : "The renderer for the field (so you can reformat output). should return raw HTML", - "memberOf" : "" - }, { "name" : "width", "type" : "Number", @@ -76140,13 +76684,6 @@ "sig" : "function (_self, newValue, oldValue)\n{\n\n}", "memberOf" : "Roo.form.Field" }, - { - "name" : "close", - "type" : "function", - "desc" : "Fires after the click the close btn", - "sig" : "function (_self)\n{\n\n}", - "memberOf" : "" - }, { "name" : "destroy", "type" : "function", @@ -76379,10 +76916,10 @@ { "name" : "getValue", "type" : "function", - "desc" : "Returns the normalized data value (undefined or emptyText will be returned as ''). To return the raw value see {@link #getRawValue}.", + "desc" : "Returns the checked state of the checkbox.", "sig" : "()\n{\n\n}", "static" : false, - "memberOf" : "Roo.form.Field" + "memberOf" : "" }, { "name" : "hasChanged", @@ -76555,8 +77092,8 @@ { "name" : "setValue", "type" : "function", - "desc" : "Sets the checked state of the checkbox.", - "sig" : "(checked)", + "desc" : "Sets the checked state of the checkbox.\nOn is always based on a string comparison between inputValue and the param.", + "sig" : "(value, suppressEvent)", "static" : false, "memberOf" : "" }, @@ -76610,7 +77147,7 @@ } ] }, - "Roo.form.FCKeditor" : { + "Roo.form.DisplayField" : { "props" : [ { "name" : "actionMode", @@ -76618,12 +77155,6 @@ "desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'", "memberOf" : "Roo.Component" }, - { - "name" : "allowBlank", - "type" : "Boolean", - "desc" : "False to validate that the value length > 0 (defaults to true)", - "memberOf" : "Roo.form.TextField" - }, { "name" : "allowDomMove", "type" : "Boolean", @@ -76633,14 +77164,17 @@ { "name" : "autoCreate", "type" : "String/Object", - "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"textarea\", style: \"width:300px;height:60px;\", autocomplete: \"off\"})", - "memberOf" : "Roo.form.TextArea" + "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})", + "memberOf" : "" }, { - "name" : "blankText", - "type" : "String", - "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")", - "memberOf" : "Roo.form.TextField" + "name" : "closable", + "type" : "Boolean", + "desc" : [ + "(true", + "false)" + ], + "memberOf" : "" }, { "name" : "cls", @@ -76654,35 +77188,17 @@ "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").", "memberOf" : "Roo.Component" }, - { - "name" : "disableKeyFilter", - "type" : "Boolean", - "desc" : "True to disable input keystroke filtering (defaults to false)", - "memberOf" : "Roo.form.TextField" - }, { "name" : "disabled", "type" : "Boolean", "desc" : "True to disable the field (defaults to false).", "memberOf" : "Roo.form.Field" }, - { - "name" : "emptyText", - "type" : "String", - "desc" : "The default text to display in an empty field - placeholder... (defaults to null).", - "memberOf" : "Roo.form.TextField" - }, - { - "name" : "fck", - "type" : "Object", - "desc" : "BasePath", - "memberOf" : "" - }, { "name" : "fieldClass", "type" : "String", - "desc" : "The default CSS class for the field (defaults to \"x-form-field\")", - "memberOf" : "Roo.form.Field" + "desc" : "The default CSS class for the checkbox (defaults to \"x-form-field\")", + "memberOf" : "" }, { "name" : "fieldLabel", @@ -76693,26 +77209,8 @@ { "name" : "focusClass", "type" : "String", - "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")", - "memberOf" : "Roo.form.Field" - }, - { - "name" : "grow", - "type" : "Boolean", - "desc" : "True if this field should automatically grow and shrink to its content", - "memberOf" : "Roo.form.TextField" - }, - { - "name" : "growMax", - "type" : "Number", - "desc" : "The maximum height to allow when grow = true (defaults to 1000)", - "memberOf" : "Roo.form.TextArea" - }, - { - "name" : "growMin", - "type" : "Number", - "desc" : "The minimum height to allow when grow = true (defaults to 60)", - "memberOf" : "Roo.form.TextArea" + "desc" : "The CSS class to use when the checkbox receives focus (defaults to undefined)", + "memberOf" : "" }, { "name" : "height", @@ -76753,36 +77251,6 @@ "desc" : "list of events and functions to call for this object, \nFor example :\n
\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  
", "memberOf" : "Roo.util.Observable" }, - { - "name" : "maskRe", - "type" : "String", - "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)", - "memberOf" : "Roo.form.TextField" - }, - { - "name" : "maxLength", - "type" : "Number", - "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)", - "memberOf" : "Roo.form.TextField" - }, - { - "name" : "maxLengthText", - "type" : "String", - "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")", - "memberOf" : "Roo.form.TextField" - }, - { - "name" : "minLength", - "type" : "Number", - "desc" : "Minimum input field length required (defaults to 0)", - "memberOf" : "Roo.form.TextField" - }, - { - "name" : "minLengthText", - "type" : "String", - "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")", - "memberOf" : "Roo.form.TextField" - }, { "name" : "msgFx", "type" : "String", @@ -76801,12 +77269,6 @@ "desc" : "The field's HTML name attribute.", "memberOf" : "Roo.form.Field" }, - { - "name" : "preventScrollbars", - "type" : "Boolean", - "desc" : "True to prevent scrollbars from appearing regardless of how much text is\nin the field (equivalent to setting overflow: hidden, defaults to false)", - "memberOf" : "Roo.form.TextArea" - }, { "name" : "qtip", "type" : "String", @@ -76819,24 +77281,6 @@ "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.", "memberOf" : "Roo.form.Field" }, - { - "name" : "regex", - "type" : "RegExp", - "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value. If the test fails, the field will be marked invalid using {@link #regexText}.", - "memberOf" : "Roo.form.TextField" - }, - { - "name" : "regexText", - "type" : "String", - "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")", - "memberOf" : "Roo.form.TextField" - }, - { - "name" : "selectOnFocus", - "type" : "Boolean", - "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)", - "memberOf" : "Roo.form.TextField" - }, { "name" : "tabIndex", "type" : "Number", @@ -76861,12 +77305,6 @@ "desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").", "memberOf" : "Roo.form.Field" }, - { - "name" : "validator", - "type" : "Function", - "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.", - "memberOf" : "Roo.form.TextField" - }, { "name" : "value", "type" : "Mixed", @@ -76874,10 +77312,10 @@ "memberOf" : "Roo.form.Field" }, { - "name" : "vtype", - "type" : "String", - "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)", - "memberOf" : "Roo.form.TextField" + "name" : "valueRenderer", + "type" : "Function", + "desc" : "The renderer for the field (so you can reformat output). should return raw HTML", + "memberOf" : "" }, { "name" : "width", @@ -76887,13 +77325,6 @@ } ], "events" : [ - { - "name" : "autosize", - "type" : "function", - "desc" : "Fires when the autosize function is triggered. The field may or may not have actually changed size\naccording to the default logic, but this event provides a hook for the developer to apply additional\nlogic at runtime to resize the field if needed.", - "sig" : "function (_self, width)\n{\n\n}", - "memberOf" : "Roo.form.TextField" - }, { "name" : "beforedestroy", "type" : "function", @@ -76936,6 +77367,13 @@ "sig" : "function (_self, newValue, oldValue)\n{\n\n}", "memberOf" : "Roo.form.Field" }, + { + "name" : "close", + "type" : "function", + "desc" : "Fires after the click the close btn", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "" + }, { "name" : "destroy", "type" : "function", @@ -76950,13 +77388,6 @@ "sig" : "function (_self)\n{\n\n}", "memberOf" : "Roo.Component" }, - { - "name" : "editorinit", - "type" : "function", - "desc" : "Fired when the editor is initialized - you can add extra handlers here..", - "sig" : "function (_self, the)\n{\n\n}", - "memberOf" : "" - }, { "name" : "enable", "type" : "function", @@ -77060,14 +77491,6 @@ "static" : false, "memberOf" : "Roo.form.Field" }, - { - "name" : "autoSize", - "type" : "function", - "desc" : "Automatically grows the field to accomodate the height of the text up to the maximum field height allowed.\nThis only takes effect if grow = true, and fires the autosize event if the height changes.", - "sig" : "()\n{\n\n}", - "static" : false, - "memberOf" : "Roo.form.TextArea" - }, { "name" : "capture", "type" : "function", @@ -77170,7 +77593,7 @@ "desc" : "Returns the raw data value which may or may not be a valid, defined value. To return a normalized value see {@link #getValue}.", "sig" : "()\n{\n\n}", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "getSize", @@ -77186,7 +77609,7 @@ "desc" : "Returns the normalized data value (undefined or emptyText will be returned as ''). To return the raw value see {@link #getRawValue}.", "sig" : "()\n{\n\n}", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "hasChanged", @@ -77303,10 +77726,10 @@ { "name" : "reset", "type" : "function", - "desc" : "Resets the current field value to the originally-loaded value and clears any validation messages.", + "desc" : "Resets the current field value to the originally loaded value and clears any validation messages", "sig" : "()\n{\n\n}", "static" : false, - "memberOf" : "Roo.form.TextField" + "memberOf" : "Roo.form.Field" }, { "name" : "resetHasChanged", @@ -77316,14 +77739,6 @@ "static" : false, "memberOf" : "Roo.form.Field" }, - { - "name" : "selectText", - "type" : "function", - "desc" : "Selects text in this field", - "sig" : "(start, end)", - "static" : false, - "memberOf" : "Roo.form.TextField" - }, { "name" : "setDisabled", "type" : "function", @@ -77367,8 +77782,8 @@ { "name" : "setValue", "type" : "function", - "desc" : "Sets a data value into the field and validates it. To set the value directly without validation see {@link #setRawValue}.", - "sig" : "(value)", + "desc" : "Sets the checked state of the checkbox.", + "sig" : "(checked)", "static" : false, "memberOf" : "" }, @@ -77419,18 +77834,10 @@ "sig" : "()\n{\n\n}", "static" : false, "memberOf" : "Roo.form.Field" - }, - { - "name" : "validateValue", - "type" : "function", - "desc" : "Validates a value according to the field's validation rules and marks the field as invalid\nif the validation fails", - "sig" : "(value)", - "static" : false, - "memberOf" : "Roo.form.TextField" } ] }, - "Roo.form.Field" : { + "Roo.form.FCKeditor" : { "props" : [ { "name" : "actionMode", @@ -77438,23 +77845,41 @@ "desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'", "memberOf" : "Roo.Component" }, + { + "name" : "allowBlank", + "type" : "Boolean", + "desc" : "False to validate that the value length > 0 (defaults to true)", + "memberOf" : "Roo.form.TextField" + }, { "name" : "allowDomMove", "type" : "Boolean", "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, { "name" : "autoCreate", "type" : "String/Object", - "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})", - "memberOf" : "" + "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"textarea\", style: \"width:300px;height:60px;\", autocomplete: \"off\"})", + "memberOf" : "Roo.form.TextArea" + }, + { + "name" : "blankText", + "type" : "String", + "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")", + "memberOf" : "Roo.form.TextField" }, { "name" : "cls", "type" : "String", "desc" : "A CSS class to apply to the field's underlying element.", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "disableClass", @@ -77462,29 +77887,65 @@ "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").", "memberOf" : "Roo.Component" }, + { + "name" : "disableKeyFilter", + "type" : "Boolean", + "desc" : "True to disable input keystroke filtering (defaults to false)", + "memberOf" : "Roo.form.TextField" + }, { "name" : "disabled", "type" : "Boolean", "desc" : "True to disable the field (defaults to false).", + "memberOf" : "Roo.form.Field" + }, + { + "name" : "emptyText", + "type" : "String", + "desc" : "The default text to display in an empty field - placeholder... (defaults to null).", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "fck", + "type" : "Object", + "desc" : "BasePath", "memberOf" : "" }, { "name" : "fieldClass", "type" : "String", "desc" : "The default CSS class for the field (defaults to \"x-form-field\")", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "fieldLabel", "type" : "String", "desc" : "Label to use when rendering a form.", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "focusClass", "type" : "String", "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")", - "memberOf" : "" + "memberOf" : "Roo.form.Field" + }, + { + "name" : "grow", + "type" : "Boolean", + "desc" : "True if this field should automatically grow and shrink to its content", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "growMax", + "type" : "Number", + "desc" : "The maximum height to allow when grow = true (defaults to 1000)", + "memberOf" : "Roo.form.TextArea" + }, + { + "name" : "growMin", + "type" : "Number", + "desc" : "The minimum height to allow when grow = true (defaults to 60)", + "memberOf" : "Roo.form.TextArea" }, { "name" : "height", @@ -77505,19 +77966,19 @@ "name" : "inputType", "type" : "String", "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "invalidClass", "type" : "String", "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "invalidText", "type" : "String", "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "listeners", @@ -77525,65 +77986,131 @@ "desc" : "list of events and functions to call for this object, \nFor example :\n
\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  
", "memberOf" : "Roo.util.Observable" }, + { + "name" : "maskRe", + "type" : "String", + "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "maxLength", + "type" : "Number", + "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "maxLengthText", + "type" : "String", + "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "minLength", + "type" : "Number", + "desc" : "Minimum input field length required (defaults to 0)", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "minLengthText", + "type" : "String", + "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")", + "memberOf" : "Roo.form.TextField" + }, { "name" : "msgFx", "type" : "String", "desc" : "Experimental The effect used when displaying a validation message under the field (defaults to 'normal').", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "msgTarget", "type" : "String", "desc" : "The location where error text should display. Should be one of the following values (defaults to 'qtip'):\n
\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n
", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "name", "type" : "String", "desc" : "The field's HTML name attribute.", - "memberOf" : "" + "memberOf" : "Roo.form.Field" + }, + { + "name" : "preventScrollbars", + "type" : "Boolean", + "desc" : "True to prevent scrollbars from appearing regardless of how much text is\nin the field (equivalent to setting overflow: hidden, defaults to false)", + "memberOf" : "Roo.form.TextArea" }, { "name" : "qtip", "type" : "String", "desc" : "Mouse over tip", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "readOnly", "type" : "Boolean", "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.", - "memberOf" : "" + "memberOf" : "Roo.form.Field" + }, + { + "name" : "regex", + "type" : "RegExp", + "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value. If the test fails, the field will be marked invalid using {@link #regexText}.", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "regexText", + "type" : "String", + "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")", + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "selectOnFocus", + "type" : "Boolean", + "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)", + "memberOf" : "Roo.form.TextField" }, { "name" : "tabIndex", "type" : "Number", "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "validateOnBlur", "type" : "Boolean", "desc" : "Whether the field should validate when it loses focus (defaults to true).", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "validationDelay", "type" : "Number", "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "validationEvent", "type" : "String/Boolean", "desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").", - "memberOf" : "" + "memberOf" : "Roo.form.Field" + }, + { + "name" : "validator", + "type" : "Function", + "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.", + "memberOf" : "Roo.form.TextField" }, { "name" : "value", "type" : "Mixed", "desc" : "A value to initialize this field with.", - "memberOf" : "" + "memberOf" : "Roo.form.Field" + }, + { + "name" : "vtype", + "type" : "String", + "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)", + "memberOf" : "Roo.form.TextField" }, { "name" : "width", @@ -77593,6 +78120,13 @@ } ], "events" : [ + { + "name" : "autosize", + "type" : "function", + "desc" : "Fires when the autosize function is triggered. The field may or may not have actually changed size\naccording to the default logic, but this event provides a hook for the developer to apply additional\nlogic at runtime to resize the field if needed.", + "sig" : "function (_self, width)\n{\n\n}", + "memberOf" : "Roo.form.TextField" + }, { "name" : "beforedestroy", "type" : "function", @@ -77626,14 +78160,14 @@ "type" : "function", "desc" : "Fires when this field loses input focus.", "sig" : "function (_self)\n{\n\n}", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "change", "type" : "function", "desc" : "Fires just before the field blurs if the field value has changed.", "sig" : "function (_self, newValue, oldValue)\n{\n\n}", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "destroy", @@ -77649,6 +78183,13 @@ "sig" : "function (_self)\n{\n\n}", "memberOf" : "Roo.Component" }, + { + "name" : "editorinit", + "type" : "function", + "desc" : "Fired when the editor is initialized - you can add extra handlers here..", + "sig" : "function (_self, the)\n{\n\n}", + "memberOf" : "" + }, { "name" : "enable", "type" : "function", @@ -77661,7 +78202,7 @@ "type" : "function", "desc" : "Fires when this field receives input focus.", "sig" : "function (_self)\n{\n\n}", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "hide", @@ -77675,14 +78216,14 @@ "type" : "function", "desc" : "Fires after the field has been marked as invalid.", "sig" : "function (_self, msg)\n{\n\n}", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "keyup", "type" : "function", "desc" : "Fires after the key up", "sig" : "function (_self, e)\n{\n\n}", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "move", @@ -77717,14 +78258,14 @@ "type" : "function", "desc" : "Fires when any key related to navigation (arrows, tab, enter, esc, etc.) is pressed. You can check\n{@link Roo.EventObject#getKey} to determine which key was pressed.", "sig" : "function (_self, e)\n{\n\n}", - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "valid", "type" : "function", "desc" : "Fires after the field has been validated with no errors.", "sig" : "function (_self)\n{\n\n}", - "memberOf" : "" + "memberOf" : "Roo.form.Field" } ], "methods" : [ @@ -77750,7 +78291,15 @@ "desc" : "Apply the behaviors of this component to an existing element. This is used instead of render().", "sig" : "(el)", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.Field" + }, + { + "name" : "autoSize", + "type" : "function", + "desc" : "Automatically grows the field to accomodate the height of the text up to the maximum field height allowed.\nThis only takes effect if grow = true, and fires the autosize event if the height changes.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.form.TextArea" }, { "name" : "capture", @@ -77766,7 +78315,7 @@ "desc" : "Clear any invalid styles/messages for this field", "sig" : "()\n{\n\n}", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "destroy", @@ -77838,7 +78387,7 @@ "desc" : "Returns the name attribute of the field if available", "sig" : "()\n{\n\n}", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "getPosition", @@ -77878,7 +78427,7 @@ "desc" : "checks the current value against the 'loaded' value.\nNote - will return false if 'resetHasChanged' has not been called first.", "sig" : "()\n{\n\n}", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "hasListener", @@ -77902,7 +78451,7 @@ "desc" : "Returns true if this field has been changed since it was originally loaded and is not disabled.\nDEPRICATED - it never worked well - use hasChanged/resetHasChanged.", "sig" : "()\n{\n\n}", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "isValid", @@ -77910,7 +78459,7 @@ "desc" : "Returns whether or not the field value is currently valid", "sig" : "(preventMark)", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.Field" }, { "name" : "isVisible", @@ -77926,7 +78475,691 @@ "desc" : "Mark this field as invalid", "sig" : "(msg)", "static" : false, - "memberOf" : "" + "memberOf" : "Roo.form.Field" + }, + { + "name" : "on", + "type" : "function", + "desc" : "Appends an event handler to this element (shorthand for addListener)", + "sig" : "(eventName, handler, scope, options)", + "static" : false, + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "onPosition", + "type" : "function", + "desc" : "Called after the component is moved, this method is empty by default but can be implemented by any\nsubclass that needs to perform custom logic after a move occurs.", + "sig" : "(x, y)", + "static" : false, + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "onResize", + "type" : "function", + "desc" : "Called after the component is resized, this method is empty by default but can be implemented by any\nsubclass that needs to perform custom logic after a resize occurs.", + "sig" : "(adjWidth, adjHeight, rawWidth, rawHeight)", + "static" : false, + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "purgeListeners", + "type" : "function", + "desc" : "Removes all listeners for this object", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "releaseCapture", + "type" : "function", + "desc" : "Removes all added captures from the Observable.", + "sig" : "(o)", + "static" : true, + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "removeListener", + "type" : "function", + "desc" : "Removes a listener", + "sig" : "(eventName, handler, scope)", + "static" : false, + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "render", + "type" : "function", + "desc" : "If this is a lazy rendering component, render it to its container element.", + "sig" : "(container)", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "reset", + "type" : "function", + "desc" : "Resets the current field value to the originally-loaded value and clears any validation messages.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "resetHasChanged", + "type" : "function", + "desc" : "stores the current value in loadedValue", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.form.Field" + }, + { + "name" : "selectText", + "type" : "function", + "desc" : "Selects text in this field", + "sig" : "(start, end)", + "static" : false, + "memberOf" : "Roo.form.TextField" + }, + { + "name" : "setDisabled", + "type" : "function", + "desc" : "Convenience function for setting disabled/enabled by boolean.", + "sig" : "(disabled)", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "setPagePosition", + "type" : "function", + "desc" : "Sets the page XY position of the component. To set the left and top instead, use {@link #setPosition}.\nThis method fires the move event.", + "sig" : "(x, y)", + "static" : false, + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "setPosition", + "type" : "function", + "desc" : "Sets the left and top of the component. To set the page XY position instead, use {@link #setPagePosition}.\nThis method fires the move event.", + "sig" : "(left, top)", + "static" : false, + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "setRawValue", + "type" : "function", + "desc" : "Sets the underlying DOM field's value directly, bypassing validation. To set the value with validation see {@link #setValue}.", + "sig" : "(value)", + "static" : false, + "memberOf" : "Roo.form.Field" + }, + { + "name" : "setSize", + "type" : "function", + "desc" : "Sets the width and height of the component. This method fires the resize event. This method can accept\neither width and height as separate numeric arguments, or you can pass a size object like {width:10, height:20}.", + "sig" : "(width, height)", + "static" : false, + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "setValue", + "type" : "function", + "desc" : "Sets a data value into the field and validates it. To set the value directly without validation see {@link #setRawValue}.", + "sig" : "(value)", + "static" : false, + "memberOf" : "" + }, + { + "name" : "setVisible", + "type" : "function", + "desc" : "Convenience function to hide or show this component by boolean.", + "sig" : "(visible)", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "show", + "type" : "function", + "desc" : "Show this component.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "syncSize", + "type" : "function", + "desc" : "Force the component's size to recalculate based on the underlying element's current height and width.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "un", + "type" : "function", + "desc" : "Removes a listener (shorthand for removeListener)", + "sig" : "(eventName, handler, scope)", + "static" : false, + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "updateBox", + "type" : "function", + "desc" : "Sets the current box measurements of the component's underlying element.", + "sig" : "(box)", + "static" : false, + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "validate", + "type" : "function", + "desc" : "Validates the field value", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.form.Field" + }, + { + "name" : "validateValue", + "type" : "function", + "desc" : "Validates a value according to the field's validation rules and marks the field as invalid\nif the validation fails", + "sig" : "(value)", + "static" : false, + "memberOf" : "Roo.form.TextField" + } + ] + }, + "Roo.form.Field" : { + "props" : [ + { + "name" : "actionMode", + "type" : "String", + "desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'", + "memberOf" : "Roo.Component" + }, + { + "name" : "allowDomMove", + "type" : "Boolean", + "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", + "memberOf" : "Roo.Component" + }, + { + "name" : "autoCreate", + "type" : "String/Object", + "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})", + "memberOf" : "" + }, + { + "name" : "cls", + "type" : "String", + "desc" : "A CSS class to apply to the field's underlying element.", + "memberOf" : "" + }, + { + "name" : "disableClass", + "type" : "String", + "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").", + "memberOf" : "Roo.Component" + }, + { + "name" : "disabled", + "type" : "Boolean", + "desc" : "True to disable the field (defaults to false).", + "memberOf" : "" + }, + { + "name" : "fieldClass", + "type" : "String", + "desc" : "The default CSS class for the field (defaults to \"x-form-field\")", + "memberOf" : "" + }, + { + "name" : "fieldLabel", + "type" : "String", + "desc" : "Label to use when rendering a form.", + "memberOf" : "" + }, + { + "name" : "focusClass", + "type" : "String", + "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")", + "memberOf" : "" + }, + { + "name" : "height", + "type" : "Number", + "desc" : "height (optional) size of component", + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "hideMode", + "type" : "String", + "desc" : [ + "(display", + "visibility)" + ], + "memberOf" : "Roo.Component" + }, + { + "name" : "inputType", + "type" : "String", + "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").", + "memberOf" : "" + }, + { + "name" : "invalidClass", + "type" : "String", + "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")", + "memberOf" : "" + }, + { + "name" : "invalidText", + "type" : "String", + "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")", + "memberOf" : "" + }, + { + "name" : "listeners", + "type" : "Object", + "desc" : "list of events and functions to call for this object, \nFor example :\n
\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  
", + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "msgFx", + "type" : "String", + "desc" : "Experimental The effect used when displaying a validation message under the field (defaults to 'normal').", + "memberOf" : "" + }, + { + "name" : "msgTarget", + "type" : "String", + "desc" : "The location where error text should display. Should be one of the following values (defaults to 'qtip'):\n
\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n
", + "memberOf" : "" + }, + { + "name" : "name", + "type" : "String", + "desc" : "The field's HTML name attribute.", + "memberOf" : "" + }, + { + "name" : "qtip", + "type" : "String", + "desc" : "Mouse over tip", + "memberOf" : "" + }, + { + "name" : "readOnly", + "type" : "Boolean", + "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.", + "memberOf" : "" + }, + { + "name" : "tabIndex", + "type" : "Number", + "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).", + "memberOf" : "" + }, + { + "name" : "validateOnBlur", + "type" : "Boolean", + "desc" : "Whether the field should validate when it loses focus (defaults to true).", + "memberOf" : "" + }, + { + "name" : "validationDelay", + "type" : "Number", + "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)", + "memberOf" : "" + }, + { + "name" : "validationEvent", + "type" : "String/Boolean", + "desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").", + "memberOf" : "" + }, + { + "name" : "value", + "type" : "Mixed", + "desc" : "A value to initialize this field with.", + "memberOf" : "" + }, + { + "name" : "width", + "type" : "Number", + "desc" : "width (optional) size of component", + "memberOf" : "Roo.BoxComponent" + } + ], + "events" : [ + { + "name" : "beforedestroy", + "type" : "function", + "desc" : "Fires before the component is destroyed. Return false to stop the destroy.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "Roo.Component" + }, + { + "name" : "beforehide", + "type" : "function", + "desc" : "Fires before the component is hidden. Return false to stop the hide.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "Roo.Component" + }, + { + "name" : "beforerender", + "type" : "function", + "desc" : "Fires before the component is rendered. Return false to stop the render.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "Roo.Component" + }, + { + "name" : "beforeshow", + "type" : "function", + "desc" : "Fires before the component is shown. Return false to stop the show.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "Roo.Component" + }, + { + "name" : "blur", + "type" : "function", + "desc" : "Fires when this field loses input focus.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "" + }, + { + "name" : "change", + "type" : "function", + "desc" : "Fires just before the field blurs if the field value has changed.", + "sig" : "function (_self, newValue, oldValue)\n{\n\n}", + "memberOf" : "" + }, + { + "name" : "destroy", + "type" : "function", + "desc" : "Fires after the component is destroyed.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "Roo.Component" + }, + { + "name" : "disable", + "type" : "function", + "desc" : "Fires after the component is disabled.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "Roo.Component" + }, + { + "name" : "enable", + "type" : "function", + "desc" : "Fires after the component is enabled.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "Roo.Component" + }, + { + "name" : "focus", + "type" : "function", + "desc" : "Fires when this field receives input focus.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "" + }, + { + "name" : "hide", + "type" : "function", + "desc" : "Fires after the component is hidden.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "Roo.Component" + }, + { + "name" : "invalid", + "type" : "function", + "desc" : "Fires after the field has been marked as invalid.", + "sig" : "function (_self, msg)\n{\n\n}", + "memberOf" : "" + }, + { + "name" : "keyup", + "type" : "function", + "desc" : "Fires after the key up", + "sig" : "function (_self, e)\n{\n\n}", + "memberOf" : "" + }, + { + "name" : "move", + "type" : "function", + "desc" : "Fires after the component is moved.", + "sig" : "function (_self, x, y)\n{\n\n}", + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "render", + "type" : "function", + "desc" : "Fires after the component is rendered.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "Roo.Component" + }, + { + "name" : "resize", + "type" : "function", + "desc" : "Fires after the component is resized.", + "sig" : "function (_self, adjWidth, adjHeight, rawWidth, rawHeight)\n{\n\n}", + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "show", + "type" : "function", + "desc" : "Fires after the component is shown.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "Roo.Component" + }, + { + "name" : "specialkey", + "type" : "function", + "desc" : "Fires when any key related to navigation (arrows, tab, enter, esc, etc.) is pressed. You can check\n{@link Roo.EventObject#getKey} to determine which key was pressed.", + "sig" : "function (_self, e)\n{\n\n}", + "memberOf" : "" + }, + { + "name" : "valid", + "type" : "function", + "desc" : "Fires after the field has been validated with no errors.", + "sig" : "function (_self)\n{\n\n}", + "memberOf" : "" + } + ], + "methods" : [ + { + "name" : "addEvents", + "type" : "function", + "desc" : "Used to define events on this Observable", + "sig" : "(object)", + "static" : false, + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "addListener", + "type" : "function", + "desc" : "Appends an event handler to this component", + "sig" : "(eventName, handler, scope, options)", + "static" : false, + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "applyTo", + "type" : "function", + "desc" : "Apply the behaviors of this component to an existing element. This is used instead of render().", + "sig" : "(el)", + "static" : false, + "memberOf" : "" + }, + { + "name" : "capture", + "type" : "function", + "desc" : "Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + standard signature of the event\nbefore the event is fired. If the supplied function returns false,\nthe event will not fire.", + "sig" : "(o, fn, scope)", + "static" : true, + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "clearInvalid", + "type" : "function", + "desc" : "Clear any invalid styles/messages for this field", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "" + }, + { + "name" : "destroy", + "type" : "function", + "desc" : "Destroys this component by purging any event listeners, removing the component's element from the DOM,\nremoving the component from its {@link Roo.Container} (if applicable) and unregistering it from {@link Roo.ComponentMgr}.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "disable", + "type" : "function", + "desc" : "Disable this component.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "enable", + "type" : "function", + "desc" : "Enable this component.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "fireEvent", + "type" : "function", + "desc" : "Fires the specified event with the passed parameters (minus the event name).", + "sig" : "(eventName, args)", + "static" : false, + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "focus", + "type" : "function", + "desc" : "Try to focus this component.", + "sig" : "(selectText)", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "getBox", + "type" : "function", + "desc" : "Gets the current box measurements of the component's underlying element.", + "sig" : "(local)", + "static" : false, + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "getEl", + "type" : "function", + "desc" : "Returns the underlying {@link Roo.Element}.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "getId", + "type" : "function", + "desc" : "Returns the id of this component.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "getName", + "type" : "function", + "desc" : "Returns the name attribute of the field if available", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "" + }, + { + "name" : "getPosition", + "type" : "function", + "desc" : "Gets the current XY position of the component's underlying element.", + "sig" : "(local)", + "static" : false, + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "getRawValue", + "type" : "function", + "desc" : "Returns the raw data value which may or may not be a valid, defined value. To return a normalized value see {@link #getValue}.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "" + }, + { + "name" : "getSize", + "type" : "function", + "desc" : "Gets the current size of the component's underlying element.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.BoxComponent" + }, + { + "name" : "getValue", + "type" : "function", + "desc" : "Returns the normalized data value (undefined or emptyText will be returned as ''). To return the raw value see {@link #getRawValue}.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "" + }, + { + "name" : "hasChanged", + "type" : "function", + "desc" : "checks the current value against the 'loaded' value.\nNote - will return false if 'resetHasChanged' has not been called first.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "" + }, + { + "name" : "hasListener", + "type" : "function", + "desc" : "Checks to see if this object has any listeners for a specified event", + "sig" : "(eventName)", + "static" : false, + "memberOf" : "Roo.util.Observable" + }, + { + "name" : "hide", + "type" : "function", + "desc" : "Hide this component.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "isDirty", + "type" : "function", + "desc" : "Returns true if this field has been changed since it was originally loaded and is not disabled.\nDEPRICATED - it never worked well - use hasChanged/resetHasChanged.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "" + }, + { + "name" : "isValid", + "type" : "function", + "desc" : "Returns whether or not the field value is currently valid", + "sig" : "(preventMark)", + "static" : false, + "memberOf" : "" + }, + { + "name" : "isVisible", + "type" : "function", + "desc" : "Returns true if this component is visible.", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "Roo.Component" + }, + { + "name" : "markInvalid", + "type" : "function", + "desc" : "Mark this field as invalid", + "sig" : "(msg)", + "static" : false, + "memberOf" : "" }, { "name" : "on", @@ -78455,6 +79688,15 @@ "desc" : "Valid values are \"left,\" \"center\" and \"right\" (defaults to \"center\")", "memberOf" : "" }, + { + "name" : "errorMask", + "type" : "Boolean", + "desc" : [ + "(true", + "false)" + ], + "memberOf" : "Roo.form.BasicForm" + }, { "name" : "errorReader", "type" : "DataReader", @@ -78497,6 +79739,12 @@ "desc" : "list of events and functions to call for this object, \nFor example :\n
\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  
", "memberOf" : "Roo.util.Observable" }, + { + "name" : "maskOffset", + "type" : "Number", + "desc" : "Default 100", + "memberOf" : "Roo.form.BasicForm" + }, { "name" : "method", "type" : "String", @@ -79628,6 +80876,12 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, { "name" : "autoCreate", "type" : "String/Object", @@ -81602,6 +82856,12 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, { "name" : "altFormats", "type" : "String", @@ -82484,6 +83744,12 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, { "name" : "allowNegative", "type" : "Boolean", @@ -84395,6 +85661,12 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, { "name" : "alwaysQuery", "type" : "Boolean", @@ -86228,6 +87500,12 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, { "name" : "autoCreate", "type" : "String/Object", @@ -87035,6 +88313,12 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "" + }, { "name" : "autoCreate", "type" : "String/Object", @@ -87830,12 +89114,6 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, - { - "name" : "cls", - "type" : "String", - "desc" : "the class for this item", - "memberOf" : "" - }, { "name" : "disableClass", "type" : "String", @@ -88247,6 +89525,12 @@ "desc" : "Whether the component can move the Dom node when rendering (defaults to true).", "memberOf" : "Roo.Component" }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField" + }, { "name" : "autoCreate", "type" : "String/Object", @@ -99203,6 +100487,13 @@ "sig" : "function (tree, parent, node, index)\n{\n\n}", "memberOf" : "Roo.data.Tree" }, + { + "name" : "appendnode", + "type" : "function", + "desc" : "Fires when append node to the tree", + "sig" : "function (_self, node, index)\n{\n\n}", + "memberOf" : "" + }, { "name" : "beforeappend", "type" : "function", @@ -100542,7 +101833,7 @@ { "name" : "Parser", "type" : "function", - "desc" : "Parsing & Compiling", + "desc" : "eval:var:Parser", "sig" : "()\n{\n\n}", "static" : false, "memberOf" : "" @@ -100550,7 +101841,7 @@ { "name" : "Renderer", "type" : "function", - "desc" : "Renderer", + "desc" : "eval:var:Renderer", "sig" : "()\n{\n\n}", "static" : false, "memberOf" : "" @@ -100566,7 +101857,23 @@ { "name" : "marked", "type" : "function", - "desc" : "Marked", + "desc" : "eval:var:marked", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "" + }, + { + "name" : "merge", + "type" : "function", + "desc" : "eval:var:merge", + "sig" : "()\n{\n\n}", + "static" : false, + "memberOf" : "" + }, + { + "name" : "noop", + "type" : "function", + "desc" : "eval:var:noop", "sig" : "()\n{\n\n}", "static" : false, "memberOf" : "" diff --git a/docs/src/Array.js.html b/docs/src/Array.js.html index 48adab464f..a184a187d0 100644 --- a/docs/src/Array.js.html +++ b/docs/src/Array.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Array.js/* +Array.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Date.js.html b/docs/src/Date.js.html index caeddb1294..e90aa3d4fa 100644 --- a/docs/src/Date.js.html +++ b/docs/src/Date.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Date.js/* +Date.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Function.js.html b/docs/src/Function.js.html index 2af595033b..451d016908 100644 --- a/docs/src/Function.js.html +++ b/docs/src/Function.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Function.js/* +Function.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Number.js.html b/docs/src/Number.js.html index 173d29039c..bfcce9293b 100644 --- a/docs/src/Number.js.html +++ b/docs/src/Number.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Number.js/* +Number.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo.js.html b/docs/src/Roo.js.html index cb2d7dcb7c..886427cc75 100644 --- a/docs/src/Roo.js.html +++ b/docs/src/Roo.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo.js/* +Roo.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Ajax.js.html b/docs/src/Roo_Ajax.js.html index 71bc3d5ee8..caf976768b 100644 --- a/docs/src/Roo_Ajax.js.html +++ b/docs/src/Roo_Ajax.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Ajax.js/* +Roo/Ajax.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_BasicDialog.js.html b/docs/src/Roo_BasicDialog.js.html index ecb79843be..cd435b45ab 100644 --- a/docs/src/Roo_BasicDialog.js.html +++ b/docs/src/Roo_BasicDialog.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/BasicDialog.js/* +Roo/BasicDialog.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_BasicLayoutRegion.js.html b/docs/src/Roo_BasicLayoutRegion.js.html index a9e665047f..bea5f23f48 100644 --- a/docs/src/Roo_BasicLayoutRegion.js.html +++ b/docs/src/Roo_BasicLayoutRegion.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/BasicLayoutRegion.js/* +Roo/BasicLayoutRegion.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_BorderLayout.js.html b/docs/src/Roo_BorderLayout.js.html index 98cdb3bfd4..c3acf51d4c 100644 --- a/docs/src/Roo_BorderLayout.js.html +++ b/docs/src/Roo_BorderLayout.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/BorderLayout.js/* +Roo/BorderLayout.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_BoxComponent.js.html b/docs/src/Roo_BoxComponent.js.html index f36d87ab45..4394819397 100644 --- a/docs/src/Roo_BoxComponent.js.html +++ b/docs/src/Roo_BoxComponent.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/BoxComponent.js/* +Roo/BoxComponent.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Button.js.html b/docs/src/Roo_Button.js.html index bf40340ffe..6bd21f4bbf 100644 --- a/docs/src/Roo_Button.js.html +++ b/docs/src/Roo_Button.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Button.js/* +Roo/Button.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_CalendarPanel.js.html b/docs/src/Roo_CalendarPanel.js.html index 647a7081d3..1f49c9b703 100644 --- a/docs/src/Roo_CalendarPanel.js.html +++ b/docs/src/Roo_CalendarPanel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/CalendarPanel.js/* +Roo/CalendarPanel.js/* * - LGPL * * based on jquery fullcalendar diff --git a/docs/src/Roo_CenterLayoutRegion.js.html b/docs/src/Roo_CenterLayoutRegion.js.html index f991669baa..0d404287d0 100644 --- a/docs/src/Roo_CenterLayoutRegion.js.html +++ b/docs/src/Roo_CenterLayoutRegion.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/CenterLayoutRegion.js/* +Roo/CenterLayoutRegion.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_ColorPalette.js.html b/docs/src/Roo_ColorPalette.js.html index 8c85f206e3..a5cb0d3eeb 100644 --- a/docs/src/Roo_ColorPalette.js.html +++ b/docs/src/Roo_ColorPalette.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/ColorPalette.js/* +Roo/ColorPalette.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Component.js.html b/docs/src/Roo_Component.js.html index f3818d81b0..3550669097 100644 --- a/docs/src/Roo_Component.js.html +++ b/docs/src/Roo_Component.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Component.js/* +Roo/Component.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_ComponentMgr.js.html b/docs/src/Roo_ComponentMgr.js.html index bbea9d19f3..13cadad39b 100644 --- a/docs/src/Roo_ComponentMgr.js.html +++ b/docs/src/Roo_ComponentMgr.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/ComponentMgr.js/* +Roo/ComponentMgr.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_CompositeElement.js.html b/docs/src/Roo_CompositeElement.js.html index 94112ef941..53e16c43ea 100644 --- a/docs/src/Roo_CompositeElement.js.html +++ b/docs/src/Roo_CompositeElement.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/CompositeElement.js/* +Roo/CompositeElement.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_CompositeElementLite.js.html b/docs/src/Roo_CompositeElementLite.js.html index 37dc1c9533..dc971bab5c 100644 --- a/docs/src/Roo_CompositeElementLite.js.html +++ b/docs/src/Roo_CompositeElementLite.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/CompositeElementLite.js/* +Roo/CompositeElementLite.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_ContentPanel.js.html b/docs/src/Roo_ContentPanel.js.html index 4a2eaf8cc7..fbab698c3d 100644 --- a/docs/src/Roo_ContentPanel.js.html +++ b/docs/src/Roo_ContentPanel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/ContentPanel.js/* +Roo/ContentPanel.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_DDView.js.html b/docs/src/Roo_DDView.js.html index 5332c88c15..fa3f9546d9 100644 --- a/docs/src/Roo_DDView.js.html +++ b/docs/src/Roo_DDView.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/DDView.js//<script type="text/javasscript"> +Roo/DDView.js//<script type="text/javasscript"> /** diff --git a/docs/src/Roo_DatePicker.js.html b/docs/src/Roo_DatePicker.js.html index 60e0d4cad7..215904abcd 100644 --- a/docs/src/Roo_DatePicker.js.html +++ b/docs/src/Roo_DatePicker.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/DatePicker.js/* +Roo/DatePicker.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Document.js.html b/docs/src/Roo_Document.js.html index 60da82e180..b85dbf5a43 100644 --- a/docs/src/Roo_Document.js.html +++ b/docs/src/Roo_Document.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Document.js/* +Roo/Document.js/* * RooJS Library * Copyright(c) 2007-2017, Roo J Solutions Ltd * diff --git a/docs/src/Roo_DomHelper.js.html b/docs/src/Roo_DomHelper.js.html index eadcc4088f..ebe5ae24a8 100644 --- a/docs/src/Roo_DomHelper.js.html +++ b/docs/src/Roo_DomHelper.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/DomHelper.js/* +Roo/DomHelper.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_DomQuery.js.html b/docs/src/Roo_DomQuery.js.html index b4747a48c0..b3cfbb90c9 100644 --- a/docs/src/Roo_DomQuery.js.html +++ b/docs/src/Roo_DomQuery.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/DomQuery.js/* +Roo/DomQuery.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_DomTemplate.js.html b/docs/src/Roo_DomTemplate.js.html index 6d1368e783..c9ea4d9afe 100644 --- a/docs/src/Roo_DomTemplate.js.html +++ b/docs/src/Roo_DomTemplate.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/DomTemplate.js/* +Roo/DomTemplate.js/* * Based on: * Roo JS * (c)) Alan Knowles diff --git a/docs/src/Roo_Editor.js.html b/docs/src/Roo_Editor.js.html index 395249560f..7583b893e7 100644 --- a/docs/src/Roo_Editor.js.html +++ b/docs/src/Roo_Editor.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Editor.js/* +Roo/Editor.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Element.js.html b/docs/src/Roo_Element.js.html index e967f41674..6fdb5d3b81 100644 --- a/docs/src/Roo_Element.js.html +++ b/docs/src/Roo_Element.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Element.js/* +Roo/Element.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_EventManager.js.html b/docs/src/Roo_EventManager.js.html index dc14a5b1ec..01b2244df4 100644 --- a/docs/src/Roo_EventManager.js.html +++ b/docs/src/Roo_EventManager.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/EventManager.js/* +Roo/EventManager.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Fx.js.html b/docs/src/Roo_Fx.js.html index 9b169f52d6..23810098d2 100644 --- a/docs/src/Roo_Fx.js.html +++ b/docs/src/Roo_Fx.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Fx.js/* +Roo/Fx.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_HtmlEditorCore.js.html b/docs/src/Roo_HtmlEditorCore.js.html index e475c0ae74..b1ecbcc4fa 100644 --- a/docs/src/Roo_HtmlEditorCore.js.html +++ b/docs/src/Roo_HtmlEditorCore.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/HtmlEditorCore.js//<script type="text/javascript"> +Roo/HtmlEditorCore.js//<script type="text/javascript"> /* * Based Ext JS Library 1.1.1 @@ -335,17 +335,32 @@ html = this.cleanHtml(html); // fix up the special chars.. normaly like back quotes in word... // however we do not want to do this with chinese.. - html = html.replace(/([\x80-\uffff])/g, function (a, b) { - var cc = b.charCodeAt(); - if ( + html = html.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[\u0080-\uFFFF]/g, function(match) { + + var cc = match.charCodeAt(); + + // Get the character value, handling surrogate pairs + if (match.length == 2) { + // It's a surrogate pair, calculate the Unicode code point + var high = match.charCodeAt(0) - 0xD800; + var low = match.charCodeAt(1) - 0xDC00; + cc = (high * 0x400) + low + 0x10000; + } else if ( (cc >= 0x4E00 && cc < 0xA000 ) || (cc >= 0x3400 && cc < 0x4E00 ) || (cc >= 0xf900 && cc < 0xfb00 ) ) { - return b; + return match; } - return "&#"+cc+";" - }); + + // No, use a numeric entity. Here we brazenly (and possibly mistakenly) + return "&#" + cc + ";"; + + + }); + + + if(this.owner.fireEvent('beforesync', this, html) !== false){ this.el.dom.value = html; this.owner.fireEvent('sync', this, html); @@ -529,7 +544,11 @@ insertTag : function(tg) { // could be a bit smarter... -> wrap the current selected tRoo.. - if (tg.toLowerCase() == 'span' || tg.toLowerCase() == 'code') { + if (tg.toLowerCase() == 'span' || + tg.toLowerCase() == 'code' || + tg.toLowerCase() == 'sup' || + tg.toLowerCase() == 'sub' + ) { range = this.createRange(this.getSelection()); var wrappingNode = this.doc.createElement(tg.toLowerCase()); @@ -1025,6 +1044,11 @@ var remove_keep_children= Roo.HtmlEditorCore.remove.indexOf(node.tagName.toLowerCase()) > -1; + // spans with no attributes - just remove them.. + if ((!node.attributes || !node.attributes.length) && lcname == 'span') { + remove_keep_children = true; + } + // remove <a name=....> as rendering on yahoo mailer is borked with this. // this will have to be flaged elsewhere - perhaps ablack=name... on the mailer.. @@ -1045,6 +1069,10 @@ } if (!node.attributes || !node.attributes.length) { + + + + this.cleanUpChildren(node); return; } @@ -1141,11 +1169,11 @@ if (a.name == 'class') { if (a.value.match(/^Mso/)) { - node.className = ''; + node.removeAttribute('class'); } if (a.value.match(/^body$/)) { - node.className = ''; + node.removeAttribute('class'); } continue; } @@ -1166,12 +1194,29 @@ */ cleanWord : function(node) { - - if (!node) { this.cleanWord(this.doc.body); return; } + + if( + node.nodeName == 'SPAN' && + !node.hasAttributes() && + node.childNodes.length == 1 && + node.firstChild.nodeName == "#text" + ) { + var textNode = node.firstChild; + node.removeChild(textNode); + if (node.getAttribute('lang') != 'zh-CN') { // do not space pad on chinese characters.. + node.parentNode.insertBefore(node.ownerDocument.createTextNode(" "), node); + } + node.parentNode.insertBefore(textNode, node); + if (node.getAttribute('lang') != 'zh-CN') { // do not space pad on chinese characters.. + node.parentNode.insertBefore(node.ownerDocument.createTextNode(" ") , node); + } + node.parentNode.removeChild(node); + } + if (node.nodeName == "#text") { // clean up silly Windows -- stuff? return; @@ -1186,16 +1231,20 @@ node.parentNode.removeChild(node); return; } - - // remove - but keep children.. - if (node.tagName.toLowerCase().match(/^(meta|link|\\?xml:|st1:|o:|font)/)) { + //Roo.log(node.tagName); + // remove - but keep children.. + if (node.tagName.toLowerCase().match(/^(meta|link|\\?xml:|st1:|o:|v:|font)/)) { + //Roo.log('-- removed'); while (node.childNodes.length) { var cn = node.childNodes[0]; node.removeChild(cn); node.parentNode.insertBefore(cn, node); + // move node to parent - and clean it.. + this.cleanWord(cn); } node.parentNode.removeChild(node); - this.iterateChildren(node, this.cleanWord); + /// no need to iterate chidlren = it's got none.. + //this.iterateChildren(node, this.cleanWord); return; } // clean styles diff --git a/docs/src/Roo_JsonView.js.html b/docs/src/Roo_JsonView.js.html index e44d9ede14..20adcff70c 100644 --- a/docs/src/Roo_JsonView.js.html +++ b/docs/src/Roo_JsonView.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/JsonView.js/* +Roo/JsonView.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_KeyMap.js.html b/docs/src/Roo_KeyMap.js.html index e83b4866e2..100ab448fd 100644 --- a/docs/src/Roo_KeyMap.js.html +++ b/docs/src/Roo_KeyMap.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/KeyMap.js/* +Roo/KeyMap.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_KeyNav.js.html b/docs/src/Roo_KeyNav.js.html index 0a1a6e36b7..05c53b5a38 100644 --- a/docs/src/Roo_KeyNav.js.html +++ b/docs/src/Roo_KeyNav.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/KeyNav.js/* +Roo/KeyNav.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Layer.js.html b/docs/src/Roo_Layer.js.html index 98d4287447..433dca7151 100644 --- a/docs/src/Roo_Layer.js.html +++ b/docs/src/Roo_Layer.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Layer.js/* +Roo/Layer.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_LayoutManager.js.html b/docs/src/Roo_LayoutManager.js.html index 09506ad3c1..7031ac2505 100644 --- a/docs/src/Roo_LayoutManager.js.html +++ b/docs/src/Roo_LayoutManager.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/LayoutManager.js/* +Roo/LayoutManager.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_LayoutRegion.js.html b/docs/src/Roo_LayoutRegion.js.html index 33569c2d4c..72e4e2cc02 100644 --- a/docs/src/Roo_LayoutRegion.js.html +++ b/docs/src/Roo_LayoutRegion.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/LayoutRegion.js/* +Roo/LayoutRegion.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -302,7 +302,7 @@ * Collapses this region. * @param {Boolean} skipAnim (optional) true to collapse the element without animation (if animate is true) */ - collapse : function(skipAnim, skipCheck = false){ + collapse : function(skipAnim, skipCheck){ if(this.collapsed) { return; } diff --git a/docs/src/Roo_LayoutStateManager.js.html b/docs/src/Roo_LayoutStateManager.js.html index 753b88e23a..bee6df1b52 100644 --- a/docs/src/Roo_LayoutStateManager.js.html +++ b/docs/src/Roo_LayoutStateManager.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/LayoutStateManager.js/* +Roo/LayoutStateManager.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_LoadMask.js.html b/docs/src/Roo_LoadMask.js.html index 88113309cf..b466f7b011 100644 --- a/docs/src/Roo_LoadMask.js.html +++ b/docs/src/Roo_LoadMask.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/LoadMask.js/* +Roo/LoadMask.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Markdown.js.html b/docs/src/Roo_Markdown.js.html index 99753c2865..140b1ad5b6 100644 --- a/docs/src/Roo_Markdown.js.html +++ b/docs/src/Roo_Markdown.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Markdown.js// +Roo/Markdown.js// /** * marked - a markdown parser * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) @@ -45,10 +45,86 @@ // (function() { + /** + * eval:var:escape + * eval:var:unescape + * eval:var:replace + */ + + /** + * Helpers + */ + + var escape = function (html, encode) { + return html + .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;') + .replace(/</g, '&lt;') + .replace(/>/g, '&gt;') + .replace(/"/g, '&quot;') + .replace(/'/g, '&#39;'); + } + + var unescape = function (html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) { + n = n.toLowerCase(); + if (n === 'colon') { return ':'; } + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); + } + + var replace = function (regex, opt) { + regex = regex.source; + opt = opt || ''; + return function self(name, val) { + if (!name) { return new RegExp(regex, opt); } + val = val.source || val; + val = val.replace(/(^|[^\[])\^/g, '$1'); + regex = regex.replace(name, val); + return self; + }; + } + + + /** + * eval:var:noop + */ + var noop = function () {} + noop.exec = noop; + + /** + * eval:var:merge + */ + var merge = function (obj) { + var i = 1 + , target + , key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; + } + + /** * Block-Level Grammar */ + + + var block = { newline: /^\n+/, code: /^( {4}[^\n]+\n*)+/, @@ -556,7 +632,7 @@ * Inline Lexer & Compiler */ - var InlineLexer = function (links, options) { + var InlineLexer = function (links, options) { this.options = options || marked.defaults; this.links = links; this.rules = inline.normal; @@ -796,7 +872,11 @@ * Renderer */ - var Renderer = function (options) { + /** + * eval:var:Renderer + */ + + var Renderer = function (options) { this.options = options || {}; } @@ -945,8 +1025,11 @@ /** * Parsing & Compiling */ + /** + * eval:var:Parser + */ - var Parser = function (options) { + var Parser= function (options) { this.tokens = []; this.token = null; this.options = options || marked.defaults; @@ -1122,70 +1205,13 @@ } }; - /** - * Helpers - */ - - var escape = function (html, encode) { - return html - .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;') - .replace(/</g, '&lt;') - .replace(/>/g, '&gt;') - .replace(/"/g, '&quot;') - .replace(/'/g, '&#39;'); - } - - var unescape = function (html) { - // explicitly match decimal, hex, and named HTML entities - return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) { - n = n.toLowerCase(); - if (n === 'colon') { return ':'; } - if (n.charAt(0) === '#') { - return n.charAt(1) === 'x' - ? String.fromCharCode(parseInt(n.substring(2), 16)) - : String.fromCharCode(+n.substring(1)); - } - return ''; - }); - } - - var replace = function (regex, opt) { - regex = regex.source; - opt = opt || ''; - return function self(name, val) { - if (!name) { return new RegExp(regex, opt); } - val = val.source || val; - val = val.replace(/(^|[^\[])\^/g, '$1'); - regex = regex.replace(name, val); - return self; - }; - } - - var noop = function () {} - noop.exec = noop; - - function merge(obj) { - var i = 1 - , target - , key; - - for (; i < arguments.length; i++) { - target = arguments[i]; - for (key in target) { - if (Object.prototype.hasOwnProperty.call(target, key)) { - obj[key] = target[key]; - } - } - } - - return obj; - } - /** * Marked */ - + /** + * eval:var:marked + */ var marked = function (src, opt, callback) { if (callback || typeof opt === 'function') { if (!callback) { @@ -1207,7 +1233,9 @@ } pending = tokens.length; - + /** + * eval:var:done + */ var done = function(err) { if (err) { opt.highlight = highlight; diff --git a/docs/src/Roo_MasterTemplate.js.html b/docs/src/Roo_MasterTemplate.js.html index ece45ff328..bb72bfeac4 100644 --- a/docs/src/Roo_MasterTemplate.js.html +++ b/docs/src/Roo_MasterTemplate.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/MasterTemplate.js/* +Roo/MasterTemplate.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_MessageBox.js.html b/docs/src/Roo_MessageBox.js.html index 0e89fb0308..9a815ac88d 100644 --- a/docs/src/Roo_MessageBox.js.html +++ b/docs/src/Roo_MessageBox.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/MessageBox.js/* +Roo/MessageBox.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_PagingToolbar.js.html b/docs/src/Roo_PagingToolbar.js.html index 6e5e355681..ad87006592 100644 --- a/docs/src/Roo_PagingToolbar.js.html +++ b/docs/src/Roo_PagingToolbar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/PagingToolbar.js/* +Roo/PagingToolbar.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_QuickTips.js.html b/docs/src/Roo_QuickTips.js.html index 7501823ac8..bfbe5dd392 100644 --- a/docs/src/Roo_QuickTips.js.html +++ b/docs/src/Roo_QuickTips.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/QuickTips.js/* +Roo/QuickTips.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_ReaderLayout.js.html b/docs/src/Roo_ReaderLayout.js.html index ca95991266..154afb0368 100644 --- a/docs/src/Roo_ReaderLayout.js.html +++ b/docs/src/Roo_ReaderLayout.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/ReaderLayout.js/* +Roo/ReaderLayout.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Resizable.js.html b/docs/src/Roo_Resizable.js.html index 7a066e20ea..e9f6f65764 100644 --- a/docs/src/Roo_Resizable.js.html +++ b/docs/src/Roo_Resizable.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Resizable.js/* +Roo/Resizable.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Shadow.js.html b/docs/src/Roo_Shadow.js.html index ff5146a15f..b156e4eda9 100644 --- a/docs/src/Roo_Shadow.js.html +++ b/docs/src/Roo_Shadow.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Shadow.js/* +Roo/Shadow.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_SplitBar.js.html b/docs/src/Roo_SplitBar.js.html index 4d9168e490..9250f1b8d2 100644 --- a/docs/src/Roo_SplitBar.js.html +++ b/docs/src/Roo_SplitBar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/SplitBar.js/* +Roo/SplitBar.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_SplitButton.js.html b/docs/src/Roo_SplitButton.js.html index 1fb9c72100..a6bd1cc6ce 100644 --- a/docs/src/Roo_SplitButton.js.html +++ b/docs/src/Roo_SplitButton.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/SplitButton.js/* +Roo/SplitButton.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_SplitLayoutRegion.js.html b/docs/src/Roo_SplitLayoutRegion.js.html index 988544e86e..4b22ab7240 100644 --- a/docs/src/Roo_SplitLayoutRegion.js.html +++ b/docs/src/Roo_SplitLayoutRegion.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/SplitLayoutRegion.js/* +Roo/SplitLayoutRegion.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_TabPanel.js.html b/docs/src/Roo_TabPanel.js.html index 73b6a78fd9..f1d87de774 100644 --- a/docs/src/Roo_TabPanel.js.html +++ b/docs/src/Roo_TabPanel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/TabPanel.js /* +Roo/TabPanel.js /* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_Template.js.html b/docs/src/Roo_Template.js.html index 553e5a6c8f..556eda83e5 100644 --- a/docs/src/Roo_Template.js.html +++ b/docs/src/Roo_Template.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Template.js/* +Roo/Template.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -68,6 +68,7 @@ t.append('some-element', {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'} * @return {String} The HTML fragment */ applyTemplate : function(values){ + Roo.log(["applyTemplate", values]); try { if(this.compiled){ diff --git a/docs/src/Roo_Toolbar.js.html b/docs/src/Roo_Toolbar.js.html index 4b389ad2d8..4c830344f4 100644 --- a/docs/src/Roo_Toolbar.js.html +++ b/docs/src/Roo_Toolbar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/Toolbar.js/* +Roo/Toolbar.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_UpdateManager.js.html b/docs/src/Roo_UpdateManager.js.html index 4d4df011b5..ef63c3e235 100644 --- a/docs/src/Roo_UpdateManager.js.html +++ b/docs/src/Roo_UpdateManager.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/UpdateManager.js/* +Roo/UpdateManager.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_View.js.html b/docs/src/Roo_View.js.html index 0f9d9df0fa..9d2e43e9d1 100644 --- a/docs/src/Roo_View.js.html +++ b/docs/src/Roo_View.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/View.js/* +Roo/View.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_XComponent.js.html b/docs/src/Roo_XComponent.js.html index 7fe406d503..b294cfd819 100644 --- a/docs/src/Roo_XComponent.js.html +++ b/docs/src/Roo_XComponent.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/XComponent.js/* +Roo/XComponent.js/* * Original code for Roojs - LGPL * <script type="text/javascript"> */ diff --git a/docs/src/Roo_XTemplate.js.html b/docs/src/Roo_XTemplate.js.html index 26eb5e0bdd..85df96ce41 100644 --- a/docs/src/Roo_XTemplate.js.html +++ b/docs/src/Roo_XTemplate.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/XTemplate.js/* +Roo/XTemplate.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_Alert.js.html b/docs/src/Roo_bootstrap_Alert.js.html index 63b4f8619a..898babf639 100644 --- a/docs/src/Roo_bootstrap_Alert.js.html +++ b/docs/src/Roo_bootstrap_Alert.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Alert.js/** +Roo/bootstrap/Alert.js/** * @class Roo.bootstrap.Alert * @extends Roo.bootstrap.Component * Bootstrap Alert class - shows an alert area box diff --git a/docs/src/Roo_bootstrap_BezierSignature.js.html b/docs/src/Roo_bootstrap_BezierSignature.js.html index 0f8051da3f..41fc11bf0b 100644 --- a/docs/src/Roo_bootstrap_BezierSignature.js.html +++ b/docs/src/Roo_bootstrap_BezierSignature.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/BezierSignature.js/** +Roo/bootstrap/BezierSignature.js/** * @class Roo.bootstrap.BezierSignature * @extends Roo.bootstrap.Component * Bootstrap BezierSignature class diff --git a/docs/src/Roo_bootstrap_Body.js.html b/docs/src/Roo_bootstrap_Body.js.html index 2a4c0be6d1..895a55f154 100644 --- a/docs/src/Roo_bootstrap_Body.js.html +++ b/docs/src/Roo_bootstrap_Body.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Body.js/* +Roo/bootstrap/Body.js/* * - LGPL * * Body diff --git a/docs/src/Roo_bootstrap_Brick.js.html b/docs/src/Roo_bootstrap_Brick.js.html index 058fb026c3..641de3e845 100644 --- a/docs/src/Roo_bootstrap_Brick.js.html +++ b/docs/src/Roo_bootstrap_Brick.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Brick.js/* +Roo/bootstrap/Brick.js/* * - LGPL * * element diff --git a/docs/src/Roo_bootstrap_Button.js.html b/docs/src/Roo_bootstrap_Button.js.html index b4f367e093..e40a2aa30d 100644 --- a/docs/src/Roo_bootstrap_Button.js.html +++ b/docs/src/Roo_bootstrap_Button.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Button.js/* +Roo/bootstrap/Button.js/* * - LGPL * * button diff --git a/docs/src/Roo_bootstrap_ButtonGroup.js.html b/docs/src/Roo_bootstrap_ButtonGroup.js.html index 1f7e174bb0..6993d35765 100644 --- a/docs/src/Roo_bootstrap_ButtonGroup.js.html +++ b/docs/src/Roo_bootstrap_ButtonGroup.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/ButtonGroup.js/* +Roo/bootstrap/ButtonGroup.js/* * - LGPL * * button group diff --git a/docs/src/Roo_bootstrap_Calendar.js.html b/docs/src/Roo_bootstrap_Calendar.js.html index 3e2c994001..e622508831 100644 --- a/docs/src/Roo_bootstrap_Calendar.js.html +++ b/docs/src/Roo_bootstrap_Calendar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Calendar.js/* +Roo/bootstrap/Calendar.js/* * - LGPL * * based on jquery fullcalendar diff --git a/docs/src/Roo_bootstrap_CheckBox.js.html b/docs/src/Roo_bootstrap_CheckBox.js.html index 0de75f739d..1864c9011d 100644 --- a/docs/src/Roo_bootstrap_CheckBox.js.html +++ b/docs/src/Roo_bootstrap_CheckBox.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/CheckBox.js/* +Roo/bootstrap/CheckBox.js/* * - LGPL * * CheckBox @@ -56,6 +56,11 @@ inline: false, tooltip : '', + // checkbox success does not make any sense really.. + invalidClass : "", + validClass : "", + + getAutoCreate : function() { var align = (!this.labelAlign) ? this.parentLabelAlign() : this.labelAlign; @@ -156,6 +161,22 @@ } } + var boxLabelCfg = false; + + if(this.boxLabel){ + + boxLabelCfg = { + tag: 'label', + //'for': id, // box label is handled by onclick - so no for... + cls: 'box-label', + html: this.boxLabel + }; + if(this.tooltip){ + boxLabelCfg.tooltip = this.tooltip; + } + + } + if (align ==='left' && this.fieldLabel.length) { // Roo.log("left and has label"); @@ -174,6 +195,10 @@ } ]; + if (boxLabelCfg) { + cfg.cn[1].cn.push(boxLabelCfg); + } + if(this.labelWidth > 12){ cfg.cn[0].style = "width: " + this.labelWidth + 'px'; } @@ -217,29 +242,22 @@ inputblock ]; + if (boxLabelCfg) { + cfg.cn.push(boxLabelCfg); + } } else { // Roo.log(" no label && no align"); cfg.cn = [ inputblock ] ; + if (boxLabelCfg) { + cfg.cn.push(boxLabelCfg); + } } - if(this.boxLabel){ - var boxLabelCfg = { - tag: 'label', - //'for': id, // box label is handled by onclick - so no for... - cls: 'box-label', - html: this.boxLabel - }; - if(this.tooltip){ - boxLabelCfg.tooltip = this.tooltip; - } - - cfg.cn.push(boxLabelCfg); - } if(this.inputType != 'radio'){ cfg.cn.push(hidden); diff --git a/docs/src/Roo_bootstrap_Column.js.html b/docs/src/Roo_bootstrap_Column.js.html index 9044180270..530bbb7da5 100644 --- a/docs/src/Roo_bootstrap_Column.js.html +++ b/docs/src/Roo_bootstrap_Column.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Column.js/* +Roo/bootstrap/Column.js/* * - LGPL * * column diff --git a/docs/src/Roo_bootstrap_ComboBox.js.html b/docs/src/Roo_bootstrap_ComboBox.js.html index 94dacc86df..1fa84d6694 100644 --- a/docs/src/Roo_bootstrap_ComboBox.js.html +++ b/docs/src/Roo_bootstrap_ComboBox.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/ComboBox.js/* +Roo/bootstrap/ComboBox.js/* * - LGPL * * */ diff --git a/docs/src/Roo_bootstrap_Component.js.html b/docs/src/Roo_bootstrap_Component.js.html index 8afb8a8c83..3c77ceae27 100644 --- a/docs/src/Roo_bootstrap_Component.js.html +++ b/docs/src/Roo_bootstrap_Component.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Component.js/* +Roo/bootstrap/Component.js/* * - LGPL * * base class for bootstrap elements. diff --git a/docs/src/Roo_bootstrap_Container.js.html b/docs/src/Roo_bootstrap_Container.js.html index 9aca3060aa..5b21a94227 100644 --- a/docs/src/Roo_bootstrap_Container.js.html +++ b/docs/src/Roo_bootstrap_Container.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Container.js/* +Roo/bootstrap/Container.js/* * - LGPL * * page container. diff --git a/docs/src/Roo_bootstrap_DateField.js.html b/docs/src/Roo_bootstrap_DateField.js.html index a81f415f9b..72b2e90208 100644 --- a/docs/src/Roo_bootstrap_DateField.js.html +++ b/docs/src/Roo_bootstrap_DateField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/DateField.js/* +Roo/bootstrap/DateField.js/* * - LGPL * * DateField diff --git a/docs/src/Roo_bootstrap_DateSplitField.js.html b/docs/src/Roo_bootstrap_DateSplitField.js.html index ed160f7f80..01b27c4ddf 100644 --- a/docs/src/Roo_bootstrap_DateSplitField.js.html +++ b/docs/src/Roo_bootstrap_DateSplitField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/DateSplitField.js/* +Roo/bootstrap/DateSplitField.js/* * - LGPL * * page DateSplitField. diff --git a/docs/src/Roo_bootstrap_DocumentManager.js.html b/docs/src/Roo_bootstrap_DocumentManager.js.html index 6b1f6f5ac1..f8429ae531 100644 --- a/docs/src/Roo_bootstrap_DocumentManager.js.html +++ b/docs/src/Roo_bootstrap_DocumentManager.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/DocumentManager.js +Roo/bootstrap/DocumentManager.js /* * Licence: LGPL */ diff --git a/docs/src/Roo_bootstrap_DocumentSlider.js.html b/docs/src/Roo_bootstrap_DocumentSlider.js.html index 794b03120a..4e7379db08 100644 --- a/docs/src/Roo_bootstrap_DocumentSlider.js.html +++ b/docs/src/Roo_bootstrap_DocumentSlider.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/DocumentSlider.js +Roo/bootstrap/DocumentSlider.js /* * Licence: LGPL */ diff --git a/docs/src/Roo_bootstrap_DocumentViewer.js.html b/docs/src/Roo_bootstrap_DocumentViewer.js.html index 3c6b53d9f0..fae8bc428f 100644 --- a/docs/src/Roo_bootstrap_DocumentViewer.js.html +++ b/docs/src/Roo_bootstrap_DocumentViewer.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/DocumentViewer.js +Roo/bootstrap/DocumentViewer.js /* * Licence: LGPL */ diff --git a/docs/src/Roo_bootstrap_Element.js.html b/docs/src/Roo_bootstrap_Element.js.html index 514d75a425..b77877f757 100644 --- a/docs/src/Roo_bootstrap_Element.js.html +++ b/docs/src/Roo_bootstrap_Element.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Element.js/* +Roo/bootstrap/Element.js/* * - LGPL * * element diff --git a/docs/src/Roo_bootstrap_FieldLabel.js.html b/docs/src/Roo_bootstrap_FieldLabel.js.html index fdbffce9b7..375cec9780 100644 --- a/docs/src/Roo_bootstrap_FieldLabel.js.html +++ b/docs/src/Roo_bootstrap_FieldLabel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/FieldLabel.js/* +Roo/bootstrap/FieldLabel.js/* * - LGPL * * FieldLabel diff --git a/docs/src/Roo_bootstrap_Form.js.html b/docs/src/Roo_bootstrap_Form.js.html index 990c1b3efd..2d224ea1a0 100644 --- a/docs/src/Roo_bootstrap_Form.js.html +++ b/docs/src/Roo_bootstrap_Form.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Form.js/* +Roo/bootstrap/Form.js/* * - LGPL * * form diff --git a/docs/src/Roo_bootstrap_Graph.js.html b/docs/src/Roo_bootstrap_Graph.js.html index e0c7a3baff..99e31f536d 100644 --- a/docs/src/Roo_bootstrap_Graph.js.html +++ b/docs/src/Roo_bootstrap_Graph.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Graph.js /* +Roo/bootstrap/Graph.js /* * - LGPL * * Graph diff --git a/docs/src/Roo_bootstrap_Header.js.html b/docs/src/Roo_bootstrap_Header.js.html index b4db671822..b545d27030 100644 --- a/docs/src/Roo_bootstrap_Header.js.html +++ b/docs/src/Roo_bootstrap_Header.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Header.js/* +Roo/bootstrap/Header.js/* * - LGPL * * header diff --git a/docs/src/Roo_bootstrap_HtmlEditor.js.html b/docs/src/Roo_bootstrap_HtmlEditor.js.html index 38e319e3b2..cf4330fc69 100644 --- a/docs/src/Roo_bootstrap_HtmlEditor.js.html +++ b/docs/src/Roo_bootstrap_HtmlEditor.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/HtmlEditor.js/* +Roo/bootstrap/HtmlEditor.js/* * - LGPL * * HtmlEditor diff --git a/docs/src/Roo_bootstrap_Img.js.html b/docs/src/Roo_bootstrap_Img.js.html index 1b2eaaacf5..370369b38c 100644 --- a/docs/src/Roo_bootstrap_Img.js.html +++ b/docs/src/Roo_bootstrap_Img.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Img.js/* +Roo/bootstrap/Img.js/* * - LGPL * * image diff --git a/docs/src/Roo_bootstrap_Input.js.html b/docs/src/Roo_bootstrap_Input.js.html index e4c7c73514..4131443351 100644 --- a/docs/src/Roo_bootstrap_Input.js.html +++ b/docs/src/Roo_bootstrap_Input.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Input.js/* +Roo/bootstrap/Input.js/* * - LGPL * * Input diff --git a/docs/src/Roo_bootstrap_LayoutMasonry.js.html b/docs/src/Roo_bootstrap_LayoutMasonry.js.html index 33f83311c8..db8c9c987e 100644 --- a/docs/src/Roo_bootstrap_LayoutMasonry.js.html +++ b/docs/src/Roo_bootstrap_LayoutMasonry.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/LayoutMasonry.js/** +Roo/bootstrap/LayoutMasonry.js/** * * This is based on * http://masonry.desandro.com diff --git a/docs/src/Roo_bootstrap_LayoutMasonryAuto.js.html b/docs/src/Roo_bootstrap_LayoutMasonryAuto.js.html index 080adf0d1d..2291a37423 100644 --- a/docs/src/Roo_bootstrap_LayoutMasonryAuto.js.html +++ b/docs/src/Roo_bootstrap_LayoutMasonryAuto.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/LayoutMasonryAuto.js/** +Roo/bootstrap/LayoutMasonryAuto.js/** * * This is based on * http://masonry.desandro.com diff --git a/docs/src/Roo_bootstrap_Link.js.html b/docs/src/Roo_bootstrap_Link.js.html index 4bcc47211c..80e58b22a1 100644 --- a/docs/src/Roo_bootstrap_Link.js.html +++ b/docs/src/Roo_bootstrap_Link.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Link.js/* +Roo/bootstrap/Link.js/* * - LGPL * * image diff --git a/docs/src/Roo_bootstrap_LocationPicker.js.html b/docs/src/Roo_bootstrap_LocationPicker.js.html index a4412eb64b..5d541400f2 100644 --- a/docs/src/Roo_bootstrap_LocationPicker.js.html +++ b/docs/src/Roo_bootstrap_LocationPicker.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/LocationPicker.js/* +Roo/bootstrap/LocationPicker.js/* * - LGPL * * Location Picker diff --git a/docs/src/Roo_bootstrap_MasonryBrick.js.html b/docs/src/Roo_bootstrap_MasonryBrick.js.html index 0727835389..70d7a36486 100644 --- a/docs/src/Roo_bootstrap_MasonryBrick.js.html +++ b/docs/src/Roo_bootstrap_MasonryBrick.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/MasonryBrick.js/* +Roo/bootstrap/MasonryBrick.js/* * - LGPL * * element diff --git a/docs/src/Roo_bootstrap_Menu.js.html b/docs/src/Roo_bootstrap_Menu.js.html index 0593fb83ff..37c319e2bd 100644 --- a/docs/src/Roo_bootstrap_Menu.js.html +++ b/docs/src/Roo_bootstrap_Menu.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Menu.js/* +Roo/bootstrap/Menu.js/* * - LGPL * * menu diff --git a/docs/src/Roo_bootstrap_MenuItem.js.html b/docs/src/Roo_bootstrap_MenuItem.js.html index 0a2570f01c..79d133510a 100644 --- a/docs/src/Roo_bootstrap_MenuItem.js.html +++ b/docs/src/Roo_bootstrap_MenuItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/MenuItem.js/* +Roo/bootstrap/MenuItem.js/* * - LGPL * * menu item diff --git a/docs/src/Roo_bootstrap_MenuMgr.js.html b/docs/src/Roo_bootstrap_MenuMgr.js.html index 2c99edf3cb..b78814a5e1 100644 --- a/docs/src/Roo_bootstrap_MenuMgr.js.html +++ b/docs/src/Roo_bootstrap_MenuMgr.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/MenuMgr.js/* +Roo/bootstrap/MenuMgr.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_MenuSeparator.js.html b/docs/src/Roo_bootstrap_MenuSeparator.js.html index b9b88ce71b..4348957f82 100644 --- a/docs/src/Roo_bootstrap_MenuSeparator.js.html +++ b/docs/src/Roo_bootstrap_MenuSeparator.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/MenuSeparator.js/* +Roo/bootstrap/MenuSeparator.js/* * - LGPL * * menu separator diff --git a/docs/src/Roo_bootstrap_MessageBar.js.html b/docs/src/Roo_bootstrap_MessageBar.js.html index d47ba9cbf9..4173af23f2 100644 --- a/docs/src/Roo_bootstrap_MessageBar.js.html +++ b/docs/src/Roo_bootstrap_MessageBar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/MessageBar.js/* +Roo/bootstrap/MessageBar.js/* * - LGPL * * element diff --git a/docs/src/Roo_bootstrap_MessageBox.js.html b/docs/src/Roo_bootstrap_MessageBox.js.html index 0dd266683b..99599d52e5 100644 --- a/docs/src/Roo_bootstrap_MessageBox.js.html +++ b/docs/src/Roo_bootstrap_MessageBox.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/MessageBox.js/* +Roo/bootstrap/MessageBox.js/* * - LGPL * * messagebox - can be used as a replace diff --git a/docs/src/Roo_bootstrap_Modal.js.html b/docs/src/Roo_bootstrap_Modal.js.html index ea2b3d425b..2f36942b40 100644 --- a/docs/src/Roo_bootstrap_Modal.js.html +++ b/docs/src/Roo_bootstrap_Modal.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Modal.js +Roo/bootstrap/Modal.js /* * Licence: LGPL */ @@ -16,6 +16,8 @@ * @cfg {Boolean} animate default true * @cfg {Boolean} allow_close default true * @cfg {Boolean} fitwindow default false + * @cfg {Number} width fixed width - usefull for chrome extension only really. + * @cfg {Number} height fixed height - usefull for chrome extension only really. * @cfg {String} size (sm|lg) default empty * @cfg {Number} max_width set the max width of modal * @@ -166,8 +168,9 @@ getAutoCreate : function() { + // we will default to modal-body-overflow - might need to remove or make optional later. var bdy = { - cls : 'modal-body', + cls : 'modal-body enable-modal-body-overflow ', html : this.html || '' }; diff --git a/docs/src/Roo_bootstrap_MoneyField.js.html b/docs/src/Roo_bootstrap_MoneyField.js.html index 1b74dbf64f..839e924d94 100644 --- a/docs/src/Roo_bootstrap_MoneyField.js.html +++ b/docs/src/Roo_bootstrap_MoneyField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/MoneyField.js +Roo/bootstrap/MoneyField.js /** * @class Roo.bootstrap.MoneyField * @extends Roo.bootstrap.ComboBox diff --git a/docs/src/Roo_bootstrap_MonthField.js.html b/docs/src/Roo_bootstrap_MonthField.js.html index 38e96dbc49..5f26385c79 100644 --- a/docs/src/Roo_bootstrap_MonthField.js.html +++ b/docs/src/Roo_bootstrap_MonthField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/MonthField.js/* +Roo/bootstrap/MonthField.js/* * - LGPL * * MonthField diff --git a/docs/src/Roo_bootstrap_NavGroup.js.html b/docs/src/Roo_bootstrap_NavGroup.js.html index 2292ab4d28..2cc98c08db 100644 --- a/docs/src/Roo_bootstrap_NavGroup.js.html +++ b/docs/src/Roo_bootstrap_NavGroup.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/NavGroup.js/* +Roo/bootstrap/NavGroup.js/* * - LGPL * * nav group diff --git a/docs/src/Roo_bootstrap_NavHeaderbar.js.html b/docs/src/Roo_bootstrap_NavHeaderbar.js.html index 7a5b06e468..91f48db619 100644 --- a/docs/src/Roo_bootstrap_NavHeaderbar.js.html +++ b/docs/src/Roo_bootstrap_NavHeaderbar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/NavHeaderbar.js/* +Roo/bootstrap/NavHeaderbar.js/* * - LGPL * * navbar diff --git a/docs/src/Roo_bootstrap_NavItem.js.html b/docs/src/Roo_bootstrap_NavItem.js.html index 29e4f9994f..8626881f14 100644 --- a/docs/src/Roo_bootstrap_NavItem.js.html +++ b/docs/src/Roo_bootstrap_NavItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/NavItem.js/* +Roo/bootstrap/NavItem.js/* * - LGPL * * row diff --git a/docs/src/Roo_bootstrap_NavProgressBar.js.html b/docs/src/Roo_bootstrap_NavProgressBar.js.html index 94c5341506..5b3e3de07c 100644 --- a/docs/src/Roo_bootstrap_NavProgressBar.js.html +++ b/docs/src/Roo_bootstrap_NavProgressBar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/NavProgressBar.js/* +Roo/bootstrap/NavProgressBar.js/* * - LGPL * * nav progress bar diff --git a/docs/src/Roo_bootstrap_NavProgressItem.js.html b/docs/src/Roo_bootstrap_NavProgressItem.js.html index 92a1e6f4ee..9604ad2973 100644 --- a/docs/src/Roo_bootstrap_NavProgressItem.js.html +++ b/docs/src/Roo_bootstrap_NavProgressItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/NavProgressItem.js/* +Roo/bootstrap/NavProgressItem.js/* * - LGPL * * Nav Progress Item diff --git a/docs/src/Roo_bootstrap_NavSidebar.js.html b/docs/src/Roo_bootstrap_NavSidebar.js.html index 4b52a53c9d..eba6db8051 100644 --- a/docs/src/Roo_bootstrap_NavSidebar.js.html +++ b/docs/src/Roo_bootstrap_NavSidebar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/NavSidebar.js/* +Roo/bootstrap/NavSidebar.js/* * - LGPL * * navbar diff --git a/docs/src/Roo_bootstrap_NavSidebarItem.js.html b/docs/src/Roo_bootstrap_NavSidebarItem.js.html index 90a222837a..0a39d4b134 100644 --- a/docs/src/Roo_bootstrap_NavSidebarItem.js.html +++ b/docs/src/Roo_bootstrap_NavSidebarItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/NavSidebarItem.js/* +Roo/bootstrap/NavSidebarItem.js/* * - LGPL * * sidebar item diff --git a/docs/src/Roo_bootstrap_NavSimplebar.js.html b/docs/src/Roo_bootstrap_NavSimplebar.js.html index 7292e599e7..a5d7bf4cda 100644 --- a/docs/src/Roo_bootstrap_NavSimplebar.js.html +++ b/docs/src/Roo_bootstrap_NavSimplebar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/NavSimplebar.js/* +Roo/bootstrap/NavSimplebar.js/* * - LGPL * * navbar diff --git a/docs/src/Roo_bootstrap_Navbar.js.html b/docs/src/Roo_bootstrap_Navbar.js.html index e9d2496381..45ed0c1384 100644 --- a/docs/src/Roo_bootstrap_Navbar.js.html +++ b/docs/src/Roo_bootstrap_Navbar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Navbar.js/* +Roo/bootstrap/Navbar.js/* * - LGPL * * navbar diff --git a/docs/src/Roo_bootstrap_NumberField.js.html b/docs/src/Roo_bootstrap_NumberField.js.html index 31fb6dfb75..35b93b1714 100644 --- a/docs/src/Roo_bootstrap_NumberField.js.html +++ b/docs/src/Roo_bootstrap_NumberField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/NumberField.js/* +Roo/bootstrap/NumberField.js/* * - LGPL * * Number field diff --git a/docs/src/Roo_bootstrap_Pagination.js.html b/docs/src/Roo_bootstrap_Pagination.js.html index fcc5b4ad16..21662b1558 100644 --- a/docs/src/Roo_bootstrap_Pagination.js.html +++ b/docs/src/Roo_bootstrap_Pagination.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Pagination.js/* +Roo/bootstrap/Pagination.js/* * - LGPL * * pagination diff --git a/docs/src/Roo_bootstrap_PaginationItem.js.html b/docs/src/Roo_bootstrap_PaginationItem.js.html index 195879b23d..eba9b30e9a 100644 --- a/docs/src/Roo_bootstrap_PaginationItem.js.html +++ b/docs/src/Roo_bootstrap_PaginationItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/PaginationItem.js/* +Roo/bootstrap/PaginationItem.js/* * - LGPL * * Pagination item diff --git a/docs/src/Roo_bootstrap_PagingToolbar.js.html b/docs/src/Roo_bootstrap_PagingToolbar.js.html index 1597173d5a..7b2a5e6716 100644 --- a/docs/src/Roo_bootstrap_PagingToolbar.js.html +++ b/docs/src/Roo_bootstrap_PagingToolbar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/PagingToolbar.js/* +Roo/bootstrap/PagingToolbar.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_PhoneInput.js.html b/docs/src/Roo_bootstrap_PhoneInput.js.html index a6c77e2382..c679cac6e2 100644 --- a/docs/src/Roo_bootstrap_PhoneInput.js.html +++ b/docs/src/Roo_bootstrap_PhoneInput.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/PhoneInput.js/** +Roo/bootstrap/PhoneInput.js/** * This script refer to: * Title: International Telephone Input * Author: Jack O'Connor diff --git a/docs/src/Roo_bootstrap_PhoneInputData.js.html b/docs/src/Roo_bootstrap_PhoneInputData.js.html index 7a6e7b265a..5981d6291c 100644 --- a/docs/src/Roo_bootstrap_PhoneInputData.js.html +++ b/docs/src/Roo_bootstrap_PhoneInputData.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/PhoneInputData.js/** +Roo/bootstrap/PhoneInputData.js/** * This script refer to: * Title: International Telephone Input * Author: Jack O'Connor diff --git a/docs/src/Roo_bootstrap_Popover.js.html b/docs/src/Roo_bootstrap_Popover.js.html index 1f6df19603..6e95977fb2 100644 --- a/docs/src/Roo_bootstrap_Popover.js.html +++ b/docs/src/Roo_bootstrap_Popover.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Popover.js/* +Roo/bootstrap/Popover.js/* * - LGPL * * element diff --git a/docs/src/Roo_bootstrap_Progress.js.html b/docs/src/Roo_bootstrap_Progress.js.html index 7e55812450..5d3ee07c32 100644 --- a/docs/src/Roo_bootstrap_Progress.js.html +++ b/docs/src/Roo_bootstrap_Progress.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Progress.js/* +Roo/bootstrap/Progress.js/* * - LGPL * * Progress diff --git a/docs/src/Roo_bootstrap_ProgressBar.js.html b/docs/src/Roo_bootstrap_ProgressBar.js.html index e1198020a1..386c7e2b53 100644 --- a/docs/src/Roo_bootstrap_ProgressBar.js.html +++ b/docs/src/Roo_bootstrap_ProgressBar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/ProgressBar.js/* +Roo/bootstrap/ProgressBar.js/* * - LGPL * * ProgressBar diff --git a/docs/src/Roo_bootstrap_Radio.js.html b/docs/src/Roo_bootstrap_Radio.js.html index 1cf3ca6309..a18871e299 100644 --- a/docs/src/Roo_bootstrap_Radio.js.html +++ b/docs/src/Roo_bootstrap_Radio.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Radio.js/* +Roo/bootstrap/Radio.js/* * - LGPL * * RadioItem diff --git a/docs/src/Roo_bootstrap_RadioSet.js.html b/docs/src/Roo_bootstrap_RadioSet.js.html index 4ba58e906e..00906fbac1 100644 --- a/docs/src/Roo_bootstrap_RadioSet.js.html +++ b/docs/src/Roo_bootstrap_RadioSet.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/RadioSet.js/* +Roo/bootstrap/RadioSet.js/* * - LGPL * * RadioSet diff --git a/docs/src/Roo_bootstrap_Row.js.html b/docs/src/Roo_bootstrap_Row.js.html index d19b1d91e2..d486712f40 100644 --- a/docs/src/Roo_bootstrap_Row.js.html +++ b/docs/src/Roo_bootstrap_Row.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Row.js/* +Roo/bootstrap/Row.js/* * - LGPL * * row diff --git a/docs/src/Roo_bootstrap_SecurePass.js.html b/docs/src/Roo_bootstrap_SecurePass.js.html index 6744b932dc..7103506586 100644 --- a/docs/src/Roo_bootstrap_SecurePass.js.html +++ b/docs/src/Roo_bootstrap_SecurePass.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/SecurePass.js/* +Roo/bootstrap/SecurePass.js/* * - LGPL * * Input diff --git a/docs/src/Roo_bootstrap_Slider.js.html b/docs/src/Roo_bootstrap_Slider.js.html index 34688f5342..d2b0ced868 100644 --- a/docs/src/Roo_bootstrap_Slider.js.html +++ b/docs/src/Roo_bootstrap_Slider.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Slider.js/* +Roo/bootstrap/Slider.js/* * - LGPL * * slider diff --git a/docs/src/Roo_bootstrap_SplitBar.js.html b/docs/src/Roo_bootstrap_SplitBar.js.html index b5d9d662ee..da57a62cae 100644 --- a/docs/src/Roo_bootstrap_SplitBar.js.html +++ b/docs/src/Roo_bootstrap_SplitBar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/SplitBar.js/* +Roo/bootstrap/SplitBar.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_TabGroup.js.html b/docs/src/Roo_bootstrap_TabGroup.js.html index 6802496910..7fe48493d9 100644 --- a/docs/src/Roo_bootstrap_TabGroup.js.html +++ b/docs/src/Roo_bootstrap_TabGroup.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/TabGroup.js/* +Roo/bootstrap/TabGroup.js/* * - LGPL * * column diff --git a/docs/src/Roo_bootstrap_TabPanel.js.html b/docs/src/Roo_bootstrap_TabPanel.js.html index 9745331bfc..86af5ee1b9 100644 --- a/docs/src/Roo_bootstrap_TabPanel.js.html +++ b/docs/src/Roo_bootstrap_TabPanel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/TabPanel.js/* +Roo/bootstrap/TabPanel.js/* * - LGPL * * TabPanel diff --git a/docs/src/Roo_bootstrap_Table.js.html b/docs/src/Roo_bootstrap_Table.js.html index 022cc2eb98..3aa9798b3e 100644 --- a/docs/src/Roo_bootstrap_Table.js.html +++ b/docs/src/Roo_bootstrap_Table.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Table.js/* +Roo/bootstrap/Table.js/* * - LGPL * * table diff --git a/docs/src/Roo_bootstrap_TableBody.js.html b/docs/src/Roo_bootstrap_TableBody.js.html index 653e43c749..67e6281b55 100644 --- a/docs/src/Roo_bootstrap_TableBody.js.html +++ b/docs/src/Roo_bootstrap_TableBody.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/TableBody.js/* +Roo/bootstrap/TableBody.js/* * - LGPL * * table body diff --git a/docs/src/Roo_bootstrap_TableCell.js.html b/docs/src/Roo_bootstrap_TableCell.js.html index 59c22c63fd..1c70573dc2 100644 --- a/docs/src/Roo_bootstrap_TableCell.js.html +++ b/docs/src/Roo_bootstrap_TableCell.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/TableCell.js/* +Roo/bootstrap/TableCell.js/* * - LGPL * * table cell diff --git a/docs/src/Roo_bootstrap_TableRow.js.html b/docs/src/Roo_bootstrap_TableRow.js.html index def3b0d199..eb02f60c62 100644 --- a/docs/src/Roo_bootstrap_TableRow.js.html +++ b/docs/src/Roo_bootstrap_TableRow.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/TableRow.js/* +Roo/bootstrap/TableRow.js/* * - LGPL * * table row diff --git a/docs/src/Roo_bootstrap_Table_AbstractSelectionModel.js.html b/docs/src/Roo_bootstrap_Table_AbstractSelectionModel.js.html index 1526dcfa5e..f961c0757d 100644 --- a/docs/src/Roo_bootstrap_Table_AbstractSelectionModel.js.html +++ b/docs/src/Roo_bootstrap_Table_AbstractSelectionModel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Table/AbstractSelectionModel.js +Roo/bootstrap/Table/AbstractSelectionModel.js /** * @class Roo.bootstrap.Table.AbstractSelectionModel * @extends Roo.util.Observable diff --git a/docs/src/Roo_bootstrap_Table_RowSelectionModel.js.html b/docs/src/Roo_bootstrap_Table_RowSelectionModel.js.html index 1ed2978964..26696a87ea 100644 --- a/docs/src/Roo_bootstrap_Table_RowSelectionModel.js.html +++ b/docs/src/Roo_bootstrap_Table_RowSelectionModel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Table/RowSelectionModel.js +Roo/bootstrap/Table/RowSelectionModel.js /** * @extends Roo.bootstrap.Table.AbstractSelectionModel * @class Roo.bootstrap.Table.RowSelectionModel diff --git a/docs/src/Roo_bootstrap_TextArea.js.html b/docs/src/Roo_bootstrap_TextArea.js.html index 27d22b742e..6320c3f8f8 100644 --- a/docs/src/Roo_bootstrap_TextArea.js.html +++ b/docs/src/Roo_bootstrap_TextArea.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/TextArea.js/* +Roo/bootstrap/TextArea.js/* * - LGPL * * Input diff --git a/docs/src/Roo_bootstrap_TimeField.js.html b/docs/src/Roo_bootstrap_TimeField.js.html index 197b30fa84..33a1d42ac7 100644 --- a/docs/src/Roo_bootstrap_TimeField.js.html +++ b/docs/src/Roo_bootstrap_TimeField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/TimeField.js/* +Roo/bootstrap/TimeField.js/* * - LGPL * * TimeField diff --git a/docs/src/Roo_bootstrap_Tooltip.js.html b/docs/src/Roo_bootstrap_Tooltip.js.html index 80c4cab1fd..fcbaaa50f5 100644 --- a/docs/src/Roo_bootstrap_Tooltip.js.html +++ b/docs/src/Roo_bootstrap_Tooltip.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/Tooltip.js/* +Roo/bootstrap/Tooltip.js/* * - LGPL * * Tooltip diff --git a/docs/src/Roo_bootstrap_TriggerField.js.html b/docs/src/Roo_bootstrap_TriggerField.js.html index 3d54f6d8d9..1a7506fe9b 100644 --- a/docs/src/Roo_bootstrap_TriggerField.js.html +++ b/docs/src/Roo_bootstrap_TriggerField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/TriggerField.js/* +Roo/bootstrap/TriggerField.js/* * - LGPL * * trigger field - base class for combo.. diff --git a/docs/src/Roo_bootstrap_UploadCropbox.js.html b/docs/src/Roo_bootstrap_UploadCropbox.js.html index d9f495f3fc..31c3acb2d7 100644 --- a/docs/src/Roo_bootstrap_UploadCropbox.js.html +++ b/docs/src/Roo_bootstrap_UploadCropbox.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/UploadCropbox.js +Roo/bootstrap/UploadCropbox.js /* * Licence: LGPL */ diff --git a/docs/src/Roo_bootstrap_dash_NumberBox.js.html b/docs/src/Roo_bootstrap_dash_NumberBox.js.html index a36e468c47..ceed68c6c3 100644 --- a/docs/src/Roo_bootstrap_dash_NumberBox.js.html +++ b/docs/src/Roo_bootstrap_dash_NumberBox.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/dash/NumberBox.js/* +Roo/bootstrap/dash/NumberBox.js/* * - LGPL * * numberBox diff --git a/docs/src/Roo_bootstrap_dash_TabBox.js.html b/docs/src/Roo_bootstrap_dash_TabBox.js.html index 623decd462..1980d56f83 100644 --- a/docs/src/Roo_bootstrap_dash_TabBox.js.html +++ b/docs/src/Roo_bootstrap_dash_TabBox.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/dash/TabBox.js/* +Roo/bootstrap/dash/TabBox.js/* * - LGPL * * TabBox diff --git a/docs/src/Roo_bootstrap_dash_TabPane.js.html b/docs/src/Roo_bootstrap_dash_TabPane.js.html index 91a1f4baa5..abd4bbcc15 100644 --- a/docs/src/Roo_bootstrap_dash_TabPane.js.html +++ b/docs/src/Roo_bootstrap_dash_TabPane.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/dash/TabPane.js/* +Roo/bootstrap/dash/TabPane.js/* * - LGPL * * Tab pane diff --git a/docs/src/Roo_bootstrap_htmleditor_ToolbarStandard.js.html b/docs/src/Roo_bootstrap_htmleditor_ToolbarStandard.js.html index 815a9435e9..d60c6e38e5 100644 --- a/docs/src/Roo_bootstrap_htmleditor_ToolbarStandard.js.html +++ b/docs/src/Roo_bootstrap_htmleditor_ToolbarStandard.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/htmleditor/ToolbarStandard.js +Roo/bootstrap/htmleditor/ToolbarStandard.js Roo.namespace('Roo.bootstrap.htmleditor'); /** * @class Roo.bootstrap.HtmlEditorToolbar1 diff --git a/docs/src/Roo_bootstrap_layout_Basic.js.html b/docs/src/Roo_bootstrap_layout_Basic.js.html index 11934e9ae3..bd49681089 100644 --- a/docs/src/Roo_bootstrap_layout_Basic.js.html +++ b/docs/src/Roo_bootstrap_layout_Basic.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Basic.js/* +Roo/bootstrap/layout/Basic.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_layout_Border.js.html b/docs/src/Roo_bootstrap_layout_Border.js.html index 6f711c4b93..cb15bb03d5 100644 --- a/docs/src/Roo_bootstrap_layout_Border.js.html +++ b/docs/src/Roo_bootstrap_layout_Border.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Border.js/* +Roo/bootstrap/layout/Border.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_layout_Center.js.html b/docs/src/Roo_bootstrap_layout_Center.js.html index e3ae23dab3..6f84e57075 100644 --- a/docs/src/Roo_bootstrap_layout_Center.js.html +++ b/docs/src/Roo_bootstrap_layout_Center.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Center.js/* +Roo/bootstrap/layout/Center.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_layout_East.js.html b/docs/src/Roo_bootstrap_layout_East.js.html index 8c48b392c2..66b881ec7e 100644 --- a/docs/src/Roo_bootstrap_layout_East.js.html +++ b/docs/src/Roo_bootstrap_layout_East.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/East.js +Roo/bootstrap/layout/East.js Roo.bootstrap.layout.East = function(config){ config.region = "east"; config.cursor = "e-resize"; diff --git a/docs/src/Roo_bootstrap_layout_Manager.js.html b/docs/src/Roo_bootstrap_layout_Manager.js.html index 16f449913f..6901f8e68a 100644 --- a/docs/src/Roo_bootstrap_layout_Manager.js.html +++ b/docs/src/Roo_bootstrap_layout_Manager.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Manager.js/* +Roo/bootstrap/layout/Manager.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_layout_North.js.html b/docs/src/Roo_bootstrap_layout_North.js.html index e81f1725cd..0825b1ffd2 100644 --- a/docs/src/Roo_bootstrap_layout_North.js.html +++ b/docs/src/Roo_bootstrap_layout_North.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/North.js +Roo/bootstrap/layout/North.js diff --git a/docs/src/Roo_bootstrap_layout_Region.js.html b/docs/src/Roo_bootstrap_layout_Region.js.html index 06aeb52dac..b57eab3e68 100644 --- a/docs/src/Roo_bootstrap_layout_Region.js.html +++ b/docs/src/Roo_bootstrap_layout_Region.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Region.js/* +Roo/bootstrap/layout/Region.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_layout_South.js.html b/docs/src/Roo_bootstrap_layout_South.js.html index a815dd0d18..1fc7bfa72b 100644 --- a/docs/src/Roo_bootstrap_layout_South.js.html +++ b/docs/src/Roo_bootstrap_layout_South.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/South.js +Roo/bootstrap/layout/South.js diff --git a/docs/src/Roo_bootstrap_layout_Split.js.html b/docs/src/Roo_bootstrap_layout_Split.js.html index 08506c242e..15285e1213 100644 --- a/docs/src/Roo_bootstrap_layout_Split.js.html +++ b/docs/src/Roo_bootstrap_layout_Split.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/Split.js/* +Roo/bootstrap/layout/Split.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_layout_West.js.html b/docs/src/Roo_bootstrap_layout_West.js.html index 9ae028a038..4e0689cfdf 100644 --- a/docs/src/Roo_bootstrap_layout_West.js.html +++ b/docs/src/Roo_bootstrap_layout_West.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/West.js +Roo/bootstrap/layout/West.js Roo.bootstrap.layout.West = function(config){ config.region = "west"; config.cursor = "w-resize"; diff --git a/docs/src/Roo_bootstrap_layout_layout-ns.js.html b/docs/src/Roo_bootstrap_layout_layout-ns.js.html index 4c7182dc5a..2a3a4c79b7 100644 --- a/docs/src/Roo_bootstrap_layout_layout-ns.js.html +++ b/docs/src/Roo_bootstrap_layout_layout-ns.js.html @@ -1 +1 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/layout/layout-ns.jsRoo.namespace("Roo.bootstrap.layout"); \ No newline at end of file +Roo/bootstrap/layout/layout-ns.jsRoo.namespace("Roo.bootstrap.layout"); \ No newline at end of file diff --git a/docs/src/Roo_bootstrap_menu_Item.js.html b/docs/src/Roo_bootstrap_menu_Item.js.html index 6a047c64f3..6186557efd 100644 --- a/docs/src/Roo_bootstrap_menu_Item.js.html +++ b/docs/src/Roo_bootstrap_menu_Item.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/menu/Item.js/* +Roo/bootstrap/menu/Item.js/* * - LGPL * * menu item diff --git a/docs/src/Roo_bootstrap_menu_Menu.js.html b/docs/src/Roo_bootstrap_menu_Menu.js.html index 0add425b4b..36e4762f64 100644 --- a/docs/src/Roo_bootstrap_menu_Menu.js.html +++ b/docs/src/Roo_bootstrap_menu_Menu.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/menu/Menu.js/* +Roo/bootstrap/menu/Menu.js/* * - LGPL * * menu diff --git a/docs/src/Roo_bootstrap_menu_Separator.js.html b/docs/src/Roo_bootstrap_menu_Separator.js.html index a2e90dbf0e..bc70caef36 100644 --- a/docs/src/Roo_bootstrap_menu_Separator.js.html +++ b/docs/src/Roo_bootstrap_menu_Separator.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/menu/Separator.js/* +Roo/bootstrap/menu/Separator.js/* * - LGPL * * menu separator diff --git a/docs/src/Roo_bootstrap_panel_Content.js.html b/docs/src/Roo_bootstrap_panel_Content.js.html index f543835f9f..eb42103569 100644 --- a/docs/src/Roo_bootstrap_panel_Content.js.html +++ b/docs/src/Roo_bootstrap_panel_Content.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/panel/Content.js/* +Roo/bootstrap/panel/Content.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_panel_Grid.js.html b/docs/src/Roo_bootstrap_panel_Grid.js.html index 2669594ecd..452e3fd252 100644 --- a/docs/src/Roo_bootstrap_panel_Grid.js.html +++ b/docs/src/Roo_bootstrap_panel_Grid.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/panel/Grid.js +Roo/bootstrap/panel/Grid.js /** * @class Roo.bootstrap.panel.Grid * @extends Roo.bootstrap.panel.Content diff --git a/docs/src/Roo_bootstrap_panel_Nest.js.html b/docs/src/Roo_bootstrap_panel_Nest.js.html index c9dc573866..de7dc804fa 100644 --- a/docs/src/Roo_bootstrap_panel_Nest.js.html +++ b/docs/src/Roo_bootstrap_panel_Nest.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/panel/Nest.js +Roo/bootstrap/panel/Nest.js /** * @class Roo.bootstrap.panel.Nest * @extends Roo.bootstrap.panel.Content diff --git a/docs/src/Roo_bootstrap_panel_TabItem.js.html b/docs/src/Roo_bootstrap_panel_TabItem.js.html index 51631b3bed..c57610fa0b 100644 --- a/docs/src/Roo_bootstrap_panel_TabItem.js.html +++ b/docs/src/Roo_bootstrap_panel_TabItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/panel/TabItem.js +Roo/bootstrap/panel/TabItem.js /** * @class Roo.TabPanelItem * @extends Roo.util.Observable diff --git a/docs/src/Roo_bootstrap_panel_Tabs.js.html b/docs/src/Roo_bootstrap_panel_Tabs.js.html index b664d48c2c..d08e29635d 100644 --- a/docs/src/Roo_bootstrap_panel_Tabs.js.html +++ b/docs/src/Roo_bootstrap_panel_Tabs.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/panel/Tabs.js/* +Roo/bootstrap/panel/Tabs.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_bootstrap_panel_panel-ns.js.html b/docs/src/Roo_bootstrap_panel_panel-ns.js.html index 8fbd2ff68a..aa6e6b304c 100644 --- a/docs/src/Roo_bootstrap_panel_panel-ns.js.html +++ b/docs/src/Roo_bootstrap_panel_panel-ns.js.html @@ -1 +1 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/panel/panel-ns.jsRoo.namespace("Roo.bootstrap.panel"); \ No newline at end of file +Roo/bootstrap/panel/panel-ns.jsRoo.namespace("Roo.bootstrap.panel"); \ No newline at end of file diff --git a/docs/src/Roo_bootstrap_version.js.html b/docs/src/Roo_bootstrap_version.js.html index 68d8c25396..ebac424e52 100644 --- a/docs/src/Roo_bootstrap_version.js.html +++ b/docs/src/Roo_bootstrap_version.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/bootstrap/version.js/** +Roo/bootstrap/version.js/** * set the version of bootstrap based on the stylesheet... * */ @@ -7,7 +7,7 @@ function() { var ret=3; Roo.each(document.styleSheets, function(s) { - if (s.href.match(/css-bootstrap4/)) { + if ( s.href && s.href.match(/css-bootstrap4/)) { ret=4; } }); diff --git a/docs/src/Roo_data_ArrayReader.js.html b/docs/src/Roo_data_ArrayReader.js.html index ec5a2f7a7b..7966ceb4e0 100644 --- a/docs/src/Roo_data_ArrayReader.js.html +++ b/docs/src/Roo_data_ArrayReader.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/ArrayReader.js/* +Roo/data/ArrayReader.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -46,42 +46,52 @@ var myReader = new Roo.data.ArrayReader({ * * created using {@link Roo.data.Record#create}. */ -Roo.data.ArrayReader = function(meta, recordType){ - - +Roo.data.ArrayReader = function(meta, recordType) +{ Roo.data.ArrayReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.ArrayReader, Roo.data.JsonReader, { - /** + + /** * Create a data block containing Roo.data.Records from an XML document. * @param {Object} o An Array of row objects which represents the dataset. * @return {Object} A data block which is used by an {@link Roo.data.Store} object as * a cache of Roo.data.Records. */ - readRecords : function(o){ + readRecords : function(o) + { var sid = this.meta ? this.meta.id : null; var recordType = this.recordType, fields = recordType.prototype.fields; var records = []; var root = o; - for(var i = 0; i < root.length; i++){ - var n = root[i]; - var values = {}; - var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null); - for(var j = 0, jlen = fields.length; j < jlen; j++){ - var f = fields.items[j]; - var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j; - var v = n[k] !== undefined ? n[k] : f.defaultValue; - v = f.convert(v); - values[f.name] = v; - } - var record = new recordType(values, id); - record.json = n; - records[records.length] = record; + for(var i = 0; i < root.length; i++){ + var n = root[i]; + var values = {}; + var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null); + for(var j = 0, jlen = fields.length; j < jlen; j++){ + var f = fields.items[j]; + var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j; + var v = n[k] !== undefined ? n[k] : f.defaultValue; + v = f.convert(v); + values[f.name] = v; } - return { - records : records, - totalRecords : records.length - }; + var record = new recordType(values, id); + record.json = n; + records[records.length] = record; + } + return { + records : records, + totalRecords : records.length + }; + }, + // used when loading children.. @see loadDataFromChildren + toLoadData: function(rec) + { + // expect rec just to be an array.. eg [a,b,c, [...] << cn ] + return typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn; + } + + }); \ No newline at end of file diff --git a/docs/src/Roo_data_Connection.js.html b/docs/src/Roo_data_Connection.js.html index e6a40571be..41199101f1 100644 --- a/docs/src/Roo_data_Connection.js.html +++ b/docs/src/Roo_data_Connection.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/Connection.js/* +Roo/data/Connection.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -203,7 +203,9 @@ url += (url.indexOf('?') != -1 ? '&' : '?') + p; p = ''; } + Roo.lib.Ajax.useDefaultHeader = typeof(o.headers) == 'undefined' || typeof(o.headers['Content-Type']) == 'undefined'; this.transId = Roo.lib.Ajax.request(method, url, cb, p, o); + Roo.lib.Ajax.useDefaultHeader == true; return this.transId; }else{ Roo.callback(o.callback, o.scope, [o, null, null]); diff --git a/docs/src/Roo_data_DataProxy.js.html b/docs/src/Roo_data_DataProxy.js.html index a396e87e91..e0d1aa1142 100644 --- a/docs/src/Roo_data_DataProxy.js.html +++ b/docs/src/Roo_data_DataProxy.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/DataProxy.js/* +Roo/data/DataProxy.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_data_DataReader.js.html b/docs/src/Roo_data_DataReader.js.html index f89c703760..c1e6247063 100644 --- a/docs/src/Roo_data_DataReader.js.html +++ b/docs/src/Roo_data_DataReader.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/DataReader.js/* +Roo/data/DataReader.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -27,6 +27,9 @@ }; Roo.data.DataReader.prototype = { + + + readerType : 'Data', /** * Create an empty record * @param {Object} data (optional) - overlay some values @@ -47,4 +50,5 @@ return new this.recordType(Roo.apply(da, d)); } + }; \ No newline at end of file diff --git a/docs/src/Roo_data_Field.js.html b/docs/src/Roo_data_Field.js.html index 242dd68ab1..a22420ebac 100644 --- a/docs/src/Roo_data_Field.js.html +++ b/docs/src/Roo_data_Field.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/Field.js/* +Roo/data/Field.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_data_HttpProxy.js.html b/docs/src/Roo_data_HttpProxy.js.html index 178e625506..55557c9179 100644 --- a/docs/src/Roo_data_HttpProxy.js.html +++ b/docs/src/Roo_data_HttpProxy.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/HttpProxy.js/* +Roo/data/HttpProxy.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_data_JsonReader.js.html b/docs/src/Roo_data_JsonReader.js.html index d15d3b78c3..34bf3b4da3 100644 --- a/docs/src/Roo_data_JsonReader.js.html +++ b/docs/src/Roo_data_JsonReader.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/JsonReader.js/* +Roo/data/JsonReader.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -67,6 +67,8 @@ var myReader = new Roo.data.JsonReader({ }; Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, { + readerType : 'Json', + /** * @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source. * Used by Store query builder to append _requestMeta to params. @@ -208,5 +210,13 @@ var myReader = new Roo.data.JsonReader({ records : records, totalRecords : totalRecords }; + }, + // used when loading children.. @see loadDataFromChildren + toLoadData: function(rec) + { + // expect rec just to be an array.. eg [a,b,c, [...] << cn ] + var data = typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn; + return { data : data, total : data.length }; + } }); \ No newline at end of file diff --git a/docs/src/Roo_data_JsonStore.js.html b/docs/src/Roo_data_JsonStore.js.html index ed35181365..cb8bc5ade8 100644 --- a/docs/src/Roo_data_JsonStore.js.html +++ b/docs/src/Roo_data_JsonStore.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/JsonStore.js/* +Roo/data/JsonStore.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_data_MemoryProxy.js.html b/docs/src/Roo_data_MemoryProxy.js.html index 57f2587b9f..c3da147a83 100644 --- a/docs/src/Roo_data_MemoryProxy.js.html +++ b/docs/src/Roo_data_MemoryProxy.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/MemoryProxy.js/* +Roo/data/MemoryProxy.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_data_Record.js.html b/docs/src/Roo_data_Record.js.html index 039524bf95..e566c1adf9 100644 --- a/docs/src/Roo_data_Record.js.html +++ b/docs/src/Roo_data_Record.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/Record.js/* +Roo/data/Record.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_data_ScriptTagProxy.js.html b/docs/src/Roo_data_ScriptTagProxy.js.html index cd07aee192..790c279655 100644 --- a/docs/src/Roo_data_ScriptTagProxy.js.html +++ b/docs/src/Roo_data_ScriptTagProxy.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/ScriptTagProxy.js/* +Roo/data/ScriptTagProxy.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_data_SimpleStore.js.html b/docs/src/Roo_data_SimpleStore.js.html index 0d0a36b28f..6cb65f6380 100644 --- a/docs/src/Roo_data_SimpleStore.js.html +++ b/docs/src/Roo_data_SimpleStore.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/SimpleStore.js/* +Roo/data/SimpleStore.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -15,14 +15,16 @@ * Small helper class to make creating Stores from Array data easier. * @cfg {Number} id The array index of the record id. Leave blank to auto generate ids. * @cfg {Array} fields An array of field definition objects, or field name strings. + * @cfg {Object} an existing reader (eg. copied from another store) * @cfg {Array} data The multi-dimensional array of data * @constructor * @param {Object} config */ -Roo.data.SimpleStore = function(config){ +Roo.data.SimpleStore = function(config) +{ Roo.data.SimpleStore.superclass.constructor.call(this, { isLocal : true, - reader: new Roo.data.ArrayReader({ + reader: typeof(config.reader) != 'undefined' ? config.reader : new Roo.data.ArrayReader({ id: config.id }, Roo.data.Record.create(config.fields) diff --git a/docs/src/Roo_data_SortTypes.js.html b/docs/src/Roo_data_SortTypes.js.html index 354979db06..db70b8b1a5 100644 --- a/docs/src/Roo_data_SortTypes.js.html +++ b/docs/src/Roo_data_SortTypes.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/SortTypes.js/* +Roo/data/SortTypes.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_data_Store.js.html b/docs/src/Roo_data_Store.js.html index 08e5223ce2..87793a74bd 100644 --- a/docs/src/Roo_data_Store.js.html +++ b/docs/src/Roo_data_Store.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/Store.js/* +Roo/data/Store.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -451,6 +451,16 @@ this.loadRecords(r, {add: append}, true); }, + /** + * using 'cn' the nested child reader read the child array into it's child stores. + * @param {Object} rec The record with a 'children array + */ + loadDataFromChildren : function(rec) + { + this.loadData(this.reader.toLoadData(rec)); + }, + + /** * Gets the number of cached records. * <p> diff --git a/docs/src/Roo_data_Tree.js.html b/docs/src/Roo_data_Tree.js.html index 30c9eadeef..e714d14ad5 100644 --- a/docs/src/Roo_data_Tree.js.html +++ b/docs/src/Roo_data_Tree.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/Tree.js/* +Roo/data/Tree.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -359,6 +359,7 @@ }else if(arguments.length > 1){ multi = arguments; } + // if passed an array or multiple args do them one by one if(multi){ for(var i = 0, len = multi.length; i < len; i++) { @@ -377,6 +378,7 @@ } oldParent.removeChild(node); } + index = this.childNodes.length; if(index == 0){ this.setFirstChild(node); @@ -394,6 +396,9 @@ this.setLastChild(node); node.setOwnerTree(this.getOwnerTree()); this.fireEvent("append", this.ownerTree, this, node, index); + if(this.ownerTree) { + this.ownerTree.fireEvent("appendnode", this, node, index); + } if(oldParent){ node.fireEvent("move", this.ownerTree, node, oldParent, this, index); } diff --git a/docs/src/Roo_data_XmlReader.js.html b/docs/src/Roo_data_XmlReader.js.html index a93709b19e..4e63046ff9 100644 --- a/docs/src/Roo_data_XmlReader.js.html +++ b/docs/src/Roo_data_XmlReader.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/data/XmlReader.js/* +Roo/data/XmlReader.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -67,6 +67,9 @@ var myReader = new Roo.data.XmlReader({ Roo.data.XmlReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.XmlReader, Roo.data.DataReader, { + + readerType : 'Xml', + /** * This method is only used by a DataProxy which has retrieved data from a remote server. * @param {Object} response The XHR object which contains the parsed XML document. The response is expected diff --git a/docs/src/Roo_dd_DD.js.html b/docs/src/Roo_dd_DD.js.html index 4e9a8c1171..a562d59461 100644 --- a/docs/src/Roo_dd_DD.js.html +++ b/docs/src/Roo_dd_DD.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/DD.js/* +Roo/dd/DD.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_dd_DDProxy.js.html b/docs/src/Roo_dd_DDProxy.js.html index 9ae334010a..015cbc49cb 100644 --- a/docs/src/Roo_dd_DDProxy.js.html +++ b/docs/src/Roo_dd_DDProxy.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/DDProxy.js/* +Roo/dd/DDProxy.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_dd_DDTarget.js.html b/docs/src/Roo_dd_DDTarget.js.html index 84e7dfaf27..1d675889cd 100644 --- a/docs/src/Roo_dd_DDTarget.js.html +++ b/docs/src/Roo_dd_DDTarget.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/DDTarget.js/* +Roo/dd/DDTarget.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -28,8 +28,8 @@ if (id) { this.initTarget(id, sGroup, config); } - if (config.listeners || config.events) { - Roo.dd.DragDrop.superclass.constructor.call(this, { + if (config && (config.listeners || config.events)) { + Roo.dd.DragDrop.superclass.constructor.call(this, { listeners : config.listeners || {}, events : config.events || {} }); diff --git a/docs/src/Roo_dd_DragDrop.js.html b/docs/src/Roo_dd_DragDrop.js.html index cadf4ca239..22410dc2e9 100644 --- a/docs/src/Roo_dd_DragDrop.js.html +++ b/docs/src/Roo_dd_DragDrop.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/DragDrop.js/* +Roo/dd/DragDrop.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_dd_DragDropMgr.js.html b/docs/src/Roo_dd_DragDropMgr.js.html index 379d495d5c..9c382fef3b 100644 --- a/docs/src/Roo_dd_DragDropMgr.js.html +++ b/docs/src/Roo_dd_DragDropMgr.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/DragDropMgr.js/* +Roo/dd/DragDropMgr.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_dd_DragSource.js.html b/docs/src/Roo_dd_DragSource.js.html index ef9e74fbf9..e3110e59c4 100644 --- a/docs/src/Roo_dd_DragSource.js.html +++ b/docs/src/Roo_dd_DragSource.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/DragSource.js/* +Roo/dd/DragSource.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_dd_DragZone.js.html b/docs/src/Roo_dd_DragZone.js.html index 8c97b0dc4d..eff2befd2c 100644 --- a/docs/src/Roo_dd_DragZone.js.html +++ b/docs/src/Roo_dd_DragZone.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/DragZone.js/* +Roo/dd/DragZone.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_dd_DropTarget.js.html b/docs/src/Roo_dd_DropTarget.js.html index 14a6827fdd..a4a1ba4ff4 100644 --- a/docs/src/Roo_dd_DropTarget.js.html +++ b/docs/src/Roo_dd_DropTarget.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/DropTarget.js/* +Roo/dd/DropTarget.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_dd_DropZone.js.html b/docs/src/Roo_dd_DropZone.js.html index 55974fa543..8c7363e5d2 100644 --- a/docs/src/Roo_dd_DropZone.js.html +++ b/docs/src/Roo_dd_DropZone.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/DropZone.js/* +Roo/dd/DropZone.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_dd_Registry.js.html b/docs/src/Roo_dd_Registry.js.html index 5aa85c37f8..c44b32e3a0 100644 --- a/docs/src/Roo_dd_Registry.js.html +++ b/docs/src/Roo_dd_Registry.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/Registry.js/* +Roo/dd/Registry.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_dd_ScrollManager.js.html b/docs/src/Roo_dd_ScrollManager.js.html index da59d3a5a7..a52f460bca 100644 --- a/docs/src/Roo_dd_ScrollManager.js.html +++ b/docs/src/Roo_dd_ScrollManager.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/ScrollManager.js/* +Roo/dd/ScrollManager.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_dd_StatusProxy.js.html b/docs/src/Roo_dd_StatusProxy.js.html index d32ac238d5..53bc8a5cdd 100644 --- a/docs/src/Roo_dd_StatusProxy.js.html +++ b/docs/src/Roo_dd_StatusProxy.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/dd/StatusProxy.js/* +Roo/dd/StatusProxy.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_Action.js.html b/docs/src/Roo_form_Action.js.html index 4ea4d38cf9..1a9f3cbd02 100644 --- a/docs/src/Roo_form_Action.js.html +++ b/docs/src/Roo_form_Action.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/Action.js/* +Roo/form/Action.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_BasicForm.js.html b/docs/src/Roo_form_BasicForm.js.html index 72e2aa2878..fb6e443da7 100644 --- a/docs/src/Roo_form_BasicForm.js.html +++ b/docs/src/Roo_form_BasicForm.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/BasicForm.js/* +Roo/form/BasicForm.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -57,6 +57,8 @@ this.initEl(el); } Roo.form.BasicForm.superclass.constructor.call(this); + + Roo.form.BasicForm.popover.apply(); }; Roo.extend(Roo.form.BasicForm, Roo.util.Observable, { @@ -128,6 +130,16 @@ */ disableMask : false, + /** + * @cfg {Boolean} errorMask (true|false) default false + */ + errorMask : false, + + /** + * @cfg {Number} maskOffset Default 100 + */ + maskOffset : 100, + // private initEl : function(el){ this.el = Roo.get(el); @@ -147,11 +159,23 @@ */ isValid : function(){ var valid = true; + var target = false; this.items.each(function(f){ - if(!f.validate()){ - valid = false; - } + if(f.validate()){ + return; + } + + valid = false; + + if(!target && f.el.isVisible(true)){ + target = f; + } }); + + if(this.errorMask && !valid){ + Roo.form.BasicForm.popover.mask(this, target); + } + return valid; }, @@ -514,6 +538,17 @@ clientValidation Boolean Applies to submit only. Pass true to call fo }, this); } + // use formdata + if (typeof(FormData) != 'undefined' && asString !== true) { + var fd = (new FormData(this.el.dom)).entries(); + var ret = {}; + var ent = fd.next(); + while (!ent.done) { + ret[ent.value[0]] = ent.value[1]; // not sure how this will handle duplicates.. + ent = fd.next(); + }; + return ret; + } var fs = Roo.lib.Ajax.serializeForm(this.el.dom); @@ -669,4 +704,150 @@ clientValidation Boolean Applies to submit only. Pass true to call fo }); // back compat -Roo.BasicForm = Roo.form.BasicForm; \ No newline at end of file +Roo.BasicForm = Roo.form.BasicForm; + +Roo.apply(Roo.form.BasicForm, { + + popover : { + + padding : 5, + + isApplied : false, + + isMasked : false, + + form : false, + + target : false, + + intervalID : false, + + maskEl : false, + + apply : function() + { + if(this.isApplied){ + return; + } + + this.maskEl = { + top : Roo.DomHelper.append(Roo.get(document.body), { tag: "div", cls:"x-dlg-mask roo-form-top-mask" }, true), + left : Roo.DomHelper.append(Roo.get(document.body), { tag: "div", cls:"x-dlg-mask roo-form-left-mask" }, true), + bottom : Roo.DomHelper.append(Roo.get(document.body), { tag: "div", cls:"x-dlg-mask roo-form-bottom-mask" }, true), + right : Roo.DomHelper.append(Roo.get(document.body), { tag: "div", cls:"x-dlg-mask roo-form-right-mask" }, true) + }; + + this.maskEl.top.enableDisplayMode("block"); + this.maskEl.left.enableDisplayMode("block"); + this.maskEl.bottom.enableDisplayMode("block"); + this.maskEl.right.enableDisplayMode("block"); + + Roo.get(document.body).on('click', function(){ + this.unmask(); + }, this); + + Roo.get(document.body).on('touchstart', function(){ + this.unmask(); + }, this); + + this.isApplied = true + }, + + mask : function(form, target) + { + this.form = form; + + this.target = target; + + if(!this.form.errorMask || !target.el){ + return; + } + + var scrollable = this.target.el.findScrollableParent() || this.target.el.findParent('div.x-layout-active-content', 100, true) || Roo.get(document.body); + + var ot = this.target.el.calcOffsetsTo(scrollable); + + var scrollTo = ot[1] - this.form.maskOffset; + + scrollTo = Math.min(scrollTo, scrollable.dom.scrollHeight); + + scrollable.scrollTo('top', scrollTo); + + var el = this.target.wrap || this.target.el; + + var box = el.getBox(); + + this.maskEl.top.setStyle('position', 'absolute'); + this.maskEl.top.setStyle('z-index', 10000); + this.maskEl.top.setSize(Roo.lib.Dom.getDocumentWidth(), box.y - this.padding); + this.maskEl.top.setLeft(0); + this.maskEl.top.setTop(0); + this.maskEl.top.show(); + + this.maskEl.left.setStyle('position', 'absolute'); + this.maskEl.left.setStyle('z-index', 10000); + this.maskEl.left.setSize(box.x - this.padding, box.height + this.padding * 2); + this.maskEl.left.setLeft(0); + this.maskEl.left.setTop(box.y - this.padding); + this.maskEl.left.show(); + + this.maskEl.bottom.setStyle('position', 'absolute'); + this.maskEl.bottom.setStyle('z-index', 10000); + this.maskEl.bottom.setSize(Roo.lib.Dom.getDocumentWidth(), Roo.lib.Dom.getDocumentHeight() - box.bottom - this.padding); + this.maskEl.bottom.setLeft(0); + this.maskEl.bottom.setTop(box.bottom + this.padding); + this.maskEl.bottom.show(); + + this.maskEl.right.setStyle('position', 'absolute'); + this.maskEl.right.setStyle('z-index', 10000); + this.maskEl.right.setSize(Roo.lib.Dom.getDocumentWidth() - box.right - this.padding, box.height + this.padding * 2); + this.maskEl.right.setLeft(box.right + this.padding); + this.maskEl.right.setTop(box.y - this.padding); + this.maskEl.right.show(); + + this.intervalID = window.setInterval(function() { + Roo.form.BasicForm.popover.unmask(); + }, 10000); + + window.onwheel = function(){ return false;}; + + (function(){ this.isMasked = true; }).defer(500, this); + + }, + + unmask : function() + { + if(!this.isApplied || !this.isMasked || !this.form || !this.target || !this.form.errorMask){ + return; + } + + this.maskEl.top.setStyle('position', 'absolute'); + this.maskEl.top.setSize(0, 0).setXY([0, 0]); + this.maskEl.top.hide(); + + this.maskEl.left.setStyle('position', 'absolute'); + this.maskEl.left.setSize(0, 0).setXY([0, 0]); + this.maskEl.left.hide(); + + this.maskEl.bottom.setStyle('position', 'absolute'); + this.maskEl.bottom.setSize(0, 0).setXY([0, 0]); + this.maskEl.bottom.hide(); + + this.maskEl.right.setStyle('position', 'absolute'); + this.maskEl.right.setSize(0, 0).setXY([0, 0]); + this.maskEl.right.hide(); + + window.onwheel = function(){ return true;}; + + if(this.intervalID){ + window.clearInterval(this.intervalID); + this.intervalID = false; + } + + this.isMasked = false; + + } + + } + +}); \ No newline at end of file diff --git a/docs/src/Roo_form_Checkbox.js.html b/docs/src/Roo_form_Checkbox.js.html index 98c52b38c2..39096f0cb5 100644 --- a/docs/src/Roo_form_Checkbox.js.html +++ b/docs/src/Roo_form_Checkbox.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/Checkbox.js/* +Roo/form/Checkbox.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_ComboBox.js.html b/docs/src/Roo_form_ComboBox.js.html index ed509176bd..0d2ee18a51 100644 --- a/docs/src/Roo_form_ComboBox.js.html +++ b/docs/src/Roo_form_ComboBox.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/ComboBox.js/* +Roo/form/ComboBox.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -304,9 +304,11 @@ // element that contains real text value.. (when hidden is used..) // private - onRender : function(ct, position){ + onRender : function(ct, position) + { Roo.form.ComboBox.superclass.onRender.call(this, ct, position); - if(this.hiddenName){ + + if(this.hiddenName){ this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)}, 'before', true); this.hiddenField.value = @@ -318,6 +320,7 @@ } + if(Roo.isGecko){ this.el.dom.setAttribute('autocomplete', 'off'); } @@ -378,7 +381,9 @@ } this.view = new Roo.View(this.innerList, this.tpl, { - singleSelect:true, store: this.store, selectedClass: this.selectedClass + singleSelect:true, + store: this.store, + selectedClass: this.selectedClass }); this.view.on('click', this.onViewClick, this); diff --git a/docs/src/Roo_form_ComboBoxArray.js.html b/docs/src/Roo_form_ComboBoxArray.js.html index 0d46893de0..e1a6c1da96 100644 --- a/docs/src/Roo_form_ComboBoxArray.js.html +++ b/docs/src/Roo_form_ComboBoxArray.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/ComboBoxArray.js/* +Roo/form/ComboBoxArray.js/* * Copyright(c) 2010-2012, Roo J Solutions Limited * * Licence LGPL @@ -115,7 +115,7 @@ // give fake names to child combo; this.combo.hiddenName = this.hiddenName ? (this.hiddenName+'-subcombo') : this.hiddenName; - this.combo.name = this.name? (this.name+'-subcombo') : this.name; + this.combo.name = this.name ? (this.name+'-subcombo') : this.name; this.combo = Roo.factory(this.combo, Roo.form); this.combo.onRender(ct, position); @@ -236,6 +236,7 @@ { var valueField = this.combo.valueField; var displayField = this.combo.displayField; + if (this.items.indexOfKey(rec[valueField]) > -1) { //console.log("GOT " + rec.data.id); return; @@ -267,7 +268,6 @@ this.items.each(function(f) { ar.push(f.data[idField]); - }); this.hiddenEl.dom.value = ar.join(','); this.validate(); @@ -296,8 +296,6 @@ this.reset(); - - if (this.store.isLocal && (typeof(v) == 'string')) { // then we can use the store to find the values.. // comma seperated at present.. this needs to allow JSON based encoding.. diff --git a/docs/src/Roo_form_ComboCheck.js.html b/docs/src/Roo_form_ComboCheck.js.html index f2bf1c6e0b..7044165453 100644 --- a/docs/src/Roo_form_ComboCheck.js.html +++ b/docs/src/Roo_form_ComboCheck.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/ComboCheck.js/* +Roo/form/ComboCheck.js/* * RooJS Library 1.1.1 * Copyright(c) 2008-2011 Alan Knowles * diff --git a/docs/src/Roo_form_DateField.js.html b/docs/src/Roo_form_DateField.js.html index 93c10939a1..21968c6e76 100644 --- a/docs/src/Roo_form_DateField.js.html +++ b/docs/src/Roo_form_DateField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/DateField.js/* +Roo/form/DateField.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -17,7 +17,8 @@ * Create a new DateField * @param {Object} config */ -Roo.form.DateField = function(config){ +Roo.form.DateField = function(config) +{ Roo.form.DateField.superclass.constructor.call(this, config); this.addEvents({ @@ -365,5 +366,11 @@ dateField.setValue('2006-5-4'); return String(this.getValue()) !== String(this.startValue); + }, + // @overide + cleanLeadingSpace : function(e) + { + return; } + }); \ No newline at end of file diff --git a/docs/src/Roo_form_DayPicker.js.html b/docs/src/Roo_form_DayPicker.js.html index ed7f509953..6835f907d9 100644 --- a/docs/src/Roo_form_DayPicker.js.html +++ b/docs/src/Roo_form_DayPicker.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/DayPicker.js/* +Roo/form/DayPicker.js/* * * Licence- LGPL * diff --git a/docs/src/Roo_form_DisplayField.js.html b/docs/src/Roo_form_DisplayField.js.html index 4742b6ee00..60db413c5d 100644 --- a/docs/src/Roo_form_DisplayField.js.html +++ b/docs/src/Roo_form_DisplayField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/DisplayField.js/* +Roo/form/DisplayField.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_FCKeditor.js.html b/docs/src/Roo_form_FCKeditor.js.html index 5be8e2f87b..8902e67f1e 100644 --- a/docs/src/Roo_form_FCKeditor.js.html +++ b/docs/src/Roo_form_FCKeditor.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/FCKeditor.js//<script type="text/javascript"> +Roo/form/FCKeditor.js//<script type="text/javascript"> /** * @class Roo.form.FCKeditor diff --git a/docs/src/Roo_form_Field.js.html b/docs/src/Roo_form_Field.js.html index f570a8cc91..5826f20cb2 100644 --- a/docs/src/Roo_form_Field.js.html +++ b/docs/src/Roo_form_Field.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/Field.js/* +Roo/form/Field.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_Form.js.html b/docs/src/Roo_form_Form.js.html index 668e1475c6..4d210042f7 100644 --- a/docs/src/Roo_form_Form.js.html +++ b/docs/src/Roo_form_Form.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/Form.js/* +Roo/form/Form.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -66,8 +66,6 @@ Roo.each(xitems, this.addxtype, this); - - }; Roo.extend(Roo.form.Form, Roo.form.BasicForm, { diff --git a/docs/src/Roo_form_GridField.js.html b/docs/src/Roo_form_GridField.js.html index 54955f9f9a..4a50b2b4f2 100644 --- a/docs/src/Roo_form_GridField.js.html +++ b/docs/src/Roo_form_GridField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/GridField.js//<script type="text/javascript"> +Roo/form/GridField.js//<script type="text/javascript"> /** * @class Roo.form.GridField * @extends Roo.form.Field diff --git a/docs/src/Roo_form_Hidden.js.html b/docs/src/Roo_form_Hidden.js.html index bb7b163f62..9654dcd4ea 100644 --- a/docs/src/Roo_form_Hidden.js.html +++ b/docs/src/Roo_form_Hidden.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/Hidden.js/* +Roo/form/Hidden.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_HtmlEditor.js.html b/docs/src/Roo_form_HtmlEditor.js.html index 9f5f174501..c78be385ad 100644 --- a/docs/src/Roo_form_HtmlEditor.js.html +++ b/docs/src/Roo_form_HtmlEditor.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/HtmlEditor.js//<script type="text/javascript"> +Roo/form/HtmlEditor.js//<script type="text/javascript"> /* * Ext JS Library 1.1.1 diff --git a/docs/src/Roo_form_HtmlEditor_ToolbarContext.js.html b/docs/src/Roo_form_HtmlEditor_ToolbarContext.js.html index 2396223635..5a474b5131 100644 --- a/docs/src/Roo_form_HtmlEditor_ToolbarContext.js.html +++ b/docs/src/Roo_form_HtmlEditor_ToolbarContext.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/HtmlEditor/ToolbarContext.js// <script type="text/javascript"> +Roo/form/HtmlEditor/ToolbarContext.js// <script type="text/javascript"> /* * Based on * Ext JS Library 1.1.1 diff --git a/docs/src/Roo_form_HtmlEditor_ToolbarStandard.js.html b/docs/src/Roo_form_HtmlEditor_ToolbarStandard.js.html index 6627790b4a..990f3f2b7b 100644 --- a/docs/src/Roo_form_HtmlEditor_ToolbarStandard.js.html +++ b/docs/src/Roo_form_HtmlEditor_ToolbarStandard.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/HtmlEditor/ToolbarStandard.js// <script type="text/javascript"> +Roo/form/HtmlEditor/ToolbarStandard.js// <script type="text/javascript"> /* * Based on * Ext JS Library 1.1.1 @@ -132,7 +132,8 @@ ["h1"],["h2"],["h3"],["h4"],["h5"],["h6"], ["pre"],[ "code"], ["abbr"],[ "acronym"],[ "address"],[ "cite"],[ "samp"],[ "var"], - ['div'],['span'] + ['div'],['span'], + ['sup'],['sub'] ], cleanStyles : [ @@ -434,8 +435,9 @@ var c = Roo.get(editorcore.doc.body); c.select('[class]').each(function(s) { - s.dom.className = ''; + s.dom.removeAttribute('class'); }); + editorcore.cleanWord(); editorcore.syncValue(); }, tabIndex:-1 diff --git a/docs/src/Roo_form_Layout.js.html b/docs/src/Roo_form_Layout.js.html index da16430a5a..322a13bc86 100644 --- a/docs/src/Roo_form_Layout.js.html +++ b/docs/src/Roo_form_Layout.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/Layout.js/* +Roo/form/Layout.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_MonthField.js.html b/docs/src/Roo_form_MonthField.js.html index 248df3b602..39679f4a4e 100644 --- a/docs/src/Roo_form_MonthField.js.html +++ b/docs/src/Roo_form_MonthField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/MonthField.js/* +Roo/form/MonthField.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_NumberField.js.html b/docs/src/Roo_form_NumberField.js.html index 5cae8c17ef..c13cc3dde5 100644 --- a/docs/src/Roo_form_NumberField.js.html +++ b/docs/src/Roo_form_NumberField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/NumberField.js/* +Roo/form/NumberField.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_Radio.js.html b/docs/src/Roo_form_Radio.js.html index 9bc96097ea..31049d3915 100644 --- a/docs/src/Roo_form_Radio.js.html +++ b/docs/src/Roo_form_Radio.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/Radio.js/* +Roo/form/Radio.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_Select.js.html b/docs/src/Roo_form_Select.js.html index df27bccf5d..b26502aae1 100644 --- a/docs/src/Roo_form_Select.js.html +++ b/docs/src/Roo_form_Select.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/Select.js/* +Roo/form/Select.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_Signature.js.html b/docs/src/Roo_form_Signature.js.html index 5bccf375a4..4455edc7e4 100644 --- a/docs/src/Roo_form_Signature.js.html +++ b/docs/src/Roo_form_Signature.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/Signature.js/* +Roo/form/Signature.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_TextArea.js.html b/docs/src/Roo_form_TextArea.js.html index c383021f5a..76848d8185 100644 --- a/docs/src/Roo_form_TextArea.js.html +++ b/docs/src/Roo_form_TextArea.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/TextArea.js/* +Roo/form/TextArea.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_TextField.js.html b/docs/src/Roo_form_TextField.js.html index 4aad7895cf..a2d24d153b 100644 --- a/docs/src/Roo_form_TextField.js.html +++ b/docs/src/Roo_form_TextField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/TextField.js/* +Roo/form/TextField.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -83,6 +83,10 @@ * @cfg {Boolean} selectOnFocus True to automatically select any existing field text when the field receives input focus (defaults to false) */ selectOnFocus : false, + /** + * @cfg {Boolean} allowLeadingSpace True to prevent the stripping of leading white space + */ + allowLeadingSpace : false, /** * @cfg {String} blankText Error text to display if the allow blank validation fails (defaults to "This field is required") */ @@ -127,8 +131,11 @@ if(this.selectOnFocus){ this.on("focus", this.preFocus, this); - } + if (!this.allowLeadingSpace) { + this.on('blur', this.cleanLeadingSpace, this); + } + if(this.maskRe || (this.vtype && this.disableKeyFilter !== true && (this.maskRe = Roo.form.VTypes[this.vtype+'Mask']))){ this.el.on("keypress", this.filterKeys, this); } @@ -164,7 +171,15 @@ this.autoSize(); } }, + // private - clean the leading white space + cleanLeadingSpace : function(e) + { + if ( this.inputType == 'file') { + return; + } + this.setValue((this.getValue() + '').replace(/^\s+/,'')); + }, /** * Resets the current field value to the originally-loaded value and clears any validation messages. * @@ -173,8 +188,6 @@ Roo.form.TextField.superclass.reset.call(this); }, - - // private preFocus : function(){ diff --git a/docs/src/Roo_form_TextItem.js.html b/docs/src/Roo_form_TextItem.js.html index a608f4862e..fe5e5d5ea4 100644 --- a/docs/src/Roo_form_TextItem.js.html +++ b/docs/src/Roo_form_TextItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/TextItem.js/* +Roo/form/TextItem.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -31,25 +31,34 @@ * @cfg {String} html the content for this item */ html : '', - /** - * @cfg {String} cls the class for this item - */ - cls : '', getAutoCreate : function() { var cfg = { id: this.id, tag: this.tag, - html: this.html + html: this.html, + cls: 'x-form-item' }; - if(this.cls) { - cfg.cls = this.cls; - } - return cfg; + }, + + onRender : function(ct, position) + { + Roo.form.TextItem.superclass.onRender.call(this, ct, position); + + if(!this.el){ + var cfg = this.getAutoCreate(); + if(!cfg.name){ + cfg.name = typeof(this.name) == 'undefined' ? this.id : this.name; + } + if (!cfg.name.length) { + delete cfg.name; + } + this.el = ct.createChild(cfg, position); + } } }); \ No newline at end of file diff --git a/docs/src/Roo_form_TriggerField.js.html b/docs/src/Roo_form_TriggerField.js.html index 9a35ff5b57..680438d23b 100644 --- a/docs/src/Roo_form_TriggerField.js.html +++ b/docs/src/Roo_form_TriggerField.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/TriggerField.js/* +Roo/form/TriggerField.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_form_VTypes.js.html b/docs/src/Roo_form_VTypes.js.html index dab3352596..093c88d9d3 100644 --- a/docs/src/Roo_form_VTypes.js.html +++ b/docs/src/Roo_form_VTypes.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/form/VTypes.js/* +Roo/form/VTypes.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_AbstractGridView.js.html b/docs/src/Roo_grid_AbstractGridView.js.html index 11cccaec81..1be166d9ef 100644 --- a/docs/src/Roo_grid_AbstractGridView.js.html +++ b/docs/src/Roo_grid_AbstractGridView.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/AbstractGridView.js/* +Roo/grid/AbstractGridView.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_AbstractSelectionModel.js.html b/docs/src/Roo_grid_AbstractSelectionModel.js.html index 95c9d13b98..a83f1bb9d6 100644 --- a/docs/src/Roo_grid_AbstractSelectionModel.js.html +++ b/docs/src/Roo_grid_AbstractSelectionModel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/AbstractSelectionModel.js/* +Roo/grid/AbstractSelectionModel.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_Calendar.js.html b/docs/src/Roo_grid_Calendar.js.html index 8c5fb838a0..9c070d399c 100644 --- a/docs/src/Roo_grid_Calendar.js.html +++ b/docs/src/Roo_grid_Calendar.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/Calendar.js/* +Roo/grid/Calendar.js/* * Licence LGPL diff --git a/docs/src/Roo_grid_CellSelectionModel.js.html b/docs/src/Roo_grid_CellSelectionModel.js.html index 99c025c5af..9452a34a3a 100644 --- a/docs/src/Roo_grid_CellSelectionModel.js.html +++ b/docs/src/Roo_grid_CellSelectionModel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/CellSelectionModel.js/* +Roo/grid/CellSelectionModel.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_ColumnModel.js.html b/docs/src/Roo_grid_ColumnModel.js.html index 12e3b0510f..6c3575aeae 100644 --- a/docs/src/Roo_grid_ColumnModel.js.html +++ b/docs/src/Roo_grid_ColumnModel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/ColumnModel.js/* +Roo/grid/ColumnModel.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_EditorGrid.js.html b/docs/src/Roo_grid_EditorGrid.js.html index b77f8e1d94..0b893e4ddc 100644 --- a/docs/src/Roo_grid_EditorGrid.js.html +++ b/docs/src/Roo_grid_EditorGrid.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/EditorGrid.js/* +Roo/grid/EditorGrid.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_Grid.js.html b/docs/src/Roo_grid_Grid.js.html index 7a349cf619..1bcdd67b46 100644 --- a/docs/src/Roo_grid_Grid.js.html +++ b/docs/src/Roo_grid_Grid.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/Grid.js/* +Roo/grid/Grid.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_GridDragZone.js.html b/docs/src/Roo_grid_GridDragZone.js.html index 577459f3ea..bc8fbd46f2 100644 --- a/docs/src/Roo_grid_GridDragZone.js.html +++ b/docs/src/Roo_grid_GridDragZone.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/GridDragZone.js/* +Roo/grid/GridDragZone.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_GridEditor.js.html b/docs/src/Roo_grid_GridEditor.js.html index 83ad6d8967..5392978648 100644 --- a/docs/src/Roo_grid_GridEditor.js.html +++ b/docs/src/Roo_grid_GridEditor.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/GridEditor.js/* +Roo/grid/GridEditor.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_GridView.js.html b/docs/src/Roo_grid_GridView.js.html index 0398c41862..ab5772172a 100644 --- a/docs/src/Roo_grid_GridView.js.html +++ b/docs/src/Roo_grid_GridView.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/GridView.js/* +Roo/grid/GridView.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_HeaderDragZone.js.html b/docs/src/Roo_grid_HeaderDragZone.js.html index 2eecbe1d0f..b4955e3617 100644 --- a/docs/src/Roo_grid_HeaderDragZone.js.html +++ b/docs/src/Roo_grid_HeaderDragZone.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/HeaderDragZone.js/* +Roo/grid/HeaderDragZone.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_HeaderDropZone.js.html b/docs/src/Roo_grid_HeaderDropZone.js.html index d6011cd43e..8a445cce4c 100644 --- a/docs/src/Roo_grid_HeaderDropZone.js.html +++ b/docs/src/Roo_grid_HeaderDropZone.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/HeaderDropZone.js/* +Roo/grid/HeaderDropZone.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_PropertyGrid.js.html b/docs/src/Roo_grid_PropertyGrid.js.html index e08a18da81..fc823d5ec1 100644 --- a/docs/src/Roo_grid_PropertyGrid.js.html +++ b/docs/src/Roo_grid_PropertyGrid.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/PropertyGrid.js/* +Roo/grid/PropertyGrid.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_RowSelectionModel.js.html b/docs/src/Roo_grid_RowSelectionModel.js.html index dcd860a70c..8cce84490c 100644 --- a/docs/src/Roo_grid_RowSelectionModel.js.html +++ b/docs/src/Roo_grid_RowSelectionModel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/RowSelectionModel.js/* +Roo/grid/RowSelectionModel.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_grid_SplitDragZone.js.html b/docs/src/Roo_grid_SplitDragZone.js.html index b832630d32..9166076b2c 100644 --- a/docs/src/Roo_grid_SplitDragZone.js.html +++ b/docs/src/Roo_grid_SplitDragZone.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/grid/SplitDragZone.js/* +Roo/grid/SplitDragZone.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_lib_Ajax.js.html b/docs/src/Roo_lib_Ajax.js.html index 7314735849..f27256f10e 100644 --- a/docs/src/Roo_lib_Ajax.js.html +++ b/docs/src/Roo_lib_Ajax.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/Ajax.js/* +Roo/lib/Ajax.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_lib_Anim.js.html b/docs/src/Roo_lib_Anim.js.html index f6e9001b4c..7e85a0b9fe 100644 --- a/docs/src/Roo_lib_Anim.js.html +++ b/docs/src/Roo_lib_Anim.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/Anim.js/* +Roo/lib/Anim.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_lib_AnimBase.js.html b/docs/src/Roo_lib_AnimBase.js.html index edc6f9b9cd..8960080b38 100644 --- a/docs/src/Roo_lib_AnimBase.js.html +++ b/docs/src/Roo_lib_AnimBase.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/AnimBase.js/* +Roo/lib/AnimBase.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_lib_AnimMgr.js.html b/docs/src/Roo_lib_AnimMgr.js.html index 7e560ba125..ef3b80e0da 100644 --- a/docs/src/Roo_lib_AnimMgr.js.html +++ b/docs/src/Roo_lib_AnimMgr.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/AnimMgr.js +Roo/lib/AnimMgr.js /* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. diff --git a/docs/src/Roo_lib_Beizer.js.html b/docs/src/Roo_lib_Beizer.js.html index dd0705d33a..5057b88d8e 100644 --- a/docs/src/Roo_lib_Beizer.js.html +++ b/docs/src/Roo_lib_Beizer.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/Beizer.js/* +Roo/lib/Beizer.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_lib_ColorAnim.js.html b/docs/src/Roo_lib_ColorAnim.js.html index 29ead057b4..3fbea6d35b 100644 --- a/docs/src/Roo_lib_ColorAnim.js.html +++ b/docs/src/Roo_lib_ColorAnim.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/ColorAnim.js/* +Roo/lib/ColorAnim.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_lib_Dom.js.html b/docs/src/Roo_lib_Dom.js.html index fbc3b42c56..b470ca75de 100644 --- a/docs/src/Roo_lib_Dom.js.html +++ b/docs/src/Roo_lib_Dom.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/Dom.js/* +Roo/lib/Dom.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_lib_Easing.js.html b/docs/src/Roo_lib_Easing.js.html index a6c7971ae8..0ba9a7e2be 100644 --- a/docs/src/Roo_lib_Easing.js.html +++ b/docs/src/Roo_lib_Easing.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/Easing.js/* +Roo/lib/Easing.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_lib_Event.js.html b/docs/src/Roo_lib_Event.js.html index ecf3824044..2d403fb9a6 100644 --- a/docs/src/Roo_lib_Event.js.html +++ b/docs/src/Roo_lib_Event.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/Event.js/* +Roo/lib/Event.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_lib_Motion.js.html b/docs/src/Roo_lib_Motion.js.html index 11faad5353..0b8674aa2c 100644 --- a/docs/src/Roo_lib_Motion.js.html +++ b/docs/src/Roo_lib_Motion.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/Motion.js/* +Roo/lib/Motion.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_lib_Point.js.html b/docs/src/Roo_lib_Point.js.html index b09e673ee1..4f1030472b 100644 --- a/docs/src/Roo_lib_Point.js.html +++ b/docs/src/Roo_lib_Point.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/Point.js/* +Roo/lib/Point.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_lib_Region.js.html b/docs/src/Roo_lib_Region.js.html index a709716212..639119f840 100644 --- a/docs/src/Roo_lib_Region.js.html +++ b/docs/src/Roo_lib_Region.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/Region.js/* +Roo/lib/Region.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_lib_Scroll.js.html b/docs/src/Roo_lib_Scroll.js.html index 02a8563edf..5903208c08 100644 --- a/docs/src/Roo_lib_Scroll.js.html +++ b/docs/src/Roo_lib_Scroll.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/lib/Scroll.js/* +Roo/lib/Scroll.js/* * Portions of this file are based on pieces of Yahoo User Interface Library * Copyright (c) 2007, Yahoo! Inc. All rights reserved. * YUI licensed under the BSD License: diff --git a/docs/src/Roo_menu_Adapter.js.html b/docs/src/Roo_menu_Adapter.js.html index a3b0d24ebf..e47a6eebf0 100644 --- a/docs/src/Roo_menu_Adapter.js.html +++ b/docs/src/Roo_menu_Adapter.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/Adapter.js/* +Roo/menu/Adapter.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_menu_BaseItem.js.html b/docs/src/Roo_menu_BaseItem.js.html index 89901270d8..85c3b4471c 100644 --- a/docs/src/Roo_menu_BaseItem.js.html +++ b/docs/src/Roo_menu_BaseItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/BaseItem.js/* +Roo/menu/BaseItem.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_menu_CheckItem.js.html b/docs/src/Roo_menu_CheckItem.js.html index 8f499c393f..150cc3c680 100644 --- a/docs/src/Roo_menu_CheckItem.js.html +++ b/docs/src/Roo_menu_CheckItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/CheckItem.js/* +Roo/menu/CheckItem.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_menu_ColorItem.js.html b/docs/src/Roo_menu_ColorItem.js.html index 3ed7cc1126..e30c4fb66b 100644 --- a/docs/src/Roo_menu_ColorItem.js.html +++ b/docs/src/Roo_menu_ColorItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/ColorItem.js/* +Roo/menu/ColorItem.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_menu_ColorMenu.js.html b/docs/src/Roo_menu_ColorMenu.js.html index baf77ea4db..2da12e5b3b 100644 --- a/docs/src/Roo_menu_ColorMenu.js.html +++ b/docs/src/Roo_menu_ColorMenu.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/ColorMenu.js/* +Roo/menu/ColorMenu.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_menu_DateItem.js.html b/docs/src/Roo_menu_DateItem.js.html index 4ca1f84e4d..5cd3171083 100644 --- a/docs/src/Roo_menu_DateItem.js.html +++ b/docs/src/Roo_menu_DateItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/DateItem.js/* +Roo/menu/DateItem.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_menu_DateMenu.js.html b/docs/src/Roo_menu_DateMenu.js.html index 34958a27c8..ed4d3af58a 100644 --- a/docs/src/Roo_menu_DateMenu.js.html +++ b/docs/src/Roo_menu_DateMenu.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/DateMenu.js/* +Roo/menu/DateMenu.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_menu_Item.js.html b/docs/src/Roo_menu_Item.js.html index 7e0cb8e161..569c7e7103 100644 --- a/docs/src/Roo_menu_Item.js.html +++ b/docs/src/Roo_menu_Item.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/Item.js/* +Roo/menu/Item.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_menu_Menu.js.html b/docs/src/Roo_menu_Menu.js.html index f2d7a300b3..3d684b1f01 100644 --- a/docs/src/Roo_menu_Menu.js.html +++ b/docs/src/Roo_menu_Menu.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/Menu.js/* +Roo/menu/Menu.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -19,7 +19,9 @@ * @param {Object} config Configuration options */ Roo.menu.Menu = function(config){ - Roo.apply(this, config); + + Roo.menu.Menu.superclass.constructor.call(this, config); + this.id = this.id || Roo.id(); this.addEvents({ /** diff --git a/docs/src/Roo_menu_MenuMgr.js.html b/docs/src/Roo_menu_MenuMgr.js.html index dfbf4555cc..a3bc3362da 100644 --- a/docs/src/Roo_menu_MenuMgr.js.html +++ b/docs/src/Roo_menu_MenuMgr.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/MenuMgr.js/* +Roo/menu/MenuMgr.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_menu_Separator.js.html b/docs/src/Roo_menu_Separator.js.html index 1304a3e9bd..031a3371e6 100644 --- a/docs/src/Roo_menu_Separator.js.html +++ b/docs/src/Roo_menu_Separator.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/Separator.js/* +Roo/menu/Separator.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_menu_TextItem.js.html b/docs/src/Roo_menu_TextItem.js.html index f400e97cf1..9188b243b0 100644 --- a/docs/src/Roo_menu_TextItem.js.html +++ b/docs/src/Roo_menu_TextItem.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/menu/TextItem.js/* +Roo/menu/TextItem.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_state_CookieProvider.js.html b/docs/src/Roo_state_CookieProvider.js.html index 07e06d56ee..5a51b42dd1 100644 --- a/docs/src/Roo_state_CookieProvider.js.html +++ b/docs/src/Roo_state_CookieProvider.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/state/CookieProvider.js/* +Roo/state/CookieProvider.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_state_Manager.js.html b/docs/src/Roo_state_Manager.js.html index 6da3651ec9..4c2d1a7b67 100644 --- a/docs/src/Roo_state_Manager.js.html +++ b/docs/src/Roo_state_Manager.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/state/Manager.js/* +Roo/state/Manager.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_state_Provider.js.html b/docs/src/Roo_state_Provider.js.html index 33db0e32b4..7c06fb4e98 100644 --- a/docs/src/Roo_state_Provider.js.html +++ b/docs/src/Roo_state_Provider.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/state/Provider.js/* +Roo/state/Provider.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_tree_AsyncTreeNode.js.html b/docs/src/Roo_tree_AsyncTreeNode.js.html index 006ecbbcf1..e8243a5e8f 100644 --- a/docs/src/Roo_tree_AsyncTreeNode.js.html +++ b/docs/src/Roo_tree_AsyncTreeNode.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/AsyncTreeNode.js/* +Roo/tree/AsyncTreeNode.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_tree_ColumnNodeUI.js.html b/docs/src/Roo_tree_ColumnNodeUI.js.html index 0bd55892fb..6e42ace91e 100644 --- a/docs/src/Roo_tree_ColumnNodeUI.js.html +++ b/docs/src/Roo_tree_ColumnNodeUI.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/ColumnNodeUI.js//<Script type="text/javascript"> +Roo/tree/ColumnNodeUI.js//<Script type="text/javascript"> /* * Based on: * Ext JS Library 1.1.1 diff --git a/docs/src/Roo_tree_ColumnTree.js.html b/docs/src/Roo_tree_ColumnTree.js.html index 17af666935..82ef1d1dbd 100644 --- a/docs/src/Roo_tree_ColumnTree.js.html +++ b/docs/src/Roo_tree_ColumnTree.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/ColumnTree.js//<Script type="text/javascript"> +Roo/tree/ColumnTree.js//<Script type="text/javascript"> /* * Based on: diff --git a/docs/src/Roo_tree_TreeDragZone.js.html b/docs/src/Roo_tree_TreeDragZone.js.html index c133799b58..6656cd0c54 100644 --- a/docs/src/Roo_tree_TreeDragZone.js.html +++ b/docs/src/Roo_tree_TreeDragZone.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/TreeDragZone.js/* +Roo/tree/TreeDragZone.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_tree_TreeDropZone.js.html b/docs/src/Roo_tree_TreeDropZone.js.html index 243d3408f5..5f4d9486b4 100644 --- a/docs/src/Roo_tree_TreeDropZone.js.html +++ b/docs/src/Roo_tree_TreeDropZone.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/TreeDropZone.js/* +Roo/tree/TreeDropZone.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_tree_TreeEditor.js.html b/docs/src/Roo_tree_TreeEditor.js.html index ae6435c9a6..69fd919527 100644 --- a/docs/src/Roo_tree_TreeEditor.js.html +++ b/docs/src/Roo_tree_TreeEditor.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/TreeEditor.js/* +Roo/tree/TreeEditor.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_tree_TreeFilter.js.html b/docs/src/Roo_tree_TreeFilter.js.html index 3faf733e2e..774344e14c 100644 --- a/docs/src/Roo_tree_TreeFilter.js.html +++ b/docs/src/Roo_tree_TreeFilter.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/TreeFilter.js/* +Roo/tree/TreeFilter.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_tree_TreeLoader.js.html b/docs/src/Roo_tree_TreeLoader.js.html index c719604411..0c7adc64fb 100644 --- a/docs/src/Roo_tree_TreeLoader.js.html +++ b/docs/src/Roo_tree_TreeLoader.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/TreeLoader.js/* +Roo/tree/TreeLoader.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_tree_TreeNode.js.html b/docs/src/Roo_tree_TreeNode.js.html index 2c575c1f69..41106f531c 100644 --- a/docs/src/Roo_tree_TreeNode.js.html +++ b/docs/src/Roo_tree_TreeNode.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/TreeNode.js/* +Roo/tree/TreeNode.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -301,7 +301,8 @@ this.renderChildren(); } this.expanded = true; - if(!this.isHiddenRoot() && (this.getOwnerTree().animate && anim !== false) || anim){ + + if(!this.isHiddenRoot() && (this.getOwnerTree() && this.getOwnerTree().animate && anim !== false) || anim){ this.ui.animExpand(function(){ this.fireEvent("expand", this); if(typeof callback == "function"){ diff --git a/docs/src/Roo_tree_TreeNodeUI.js.html b/docs/src/Roo_tree_TreeNodeUI.js.html index 875ae614eb..da8d6884ba 100644 --- a/docs/src/Roo_tree_TreeNodeUI.js.html +++ b/docs/src/Roo_tree_TreeNodeUI.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/TreeNodeUI.js/* +Roo/tree/TreeNodeUI.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -140,7 +140,7 @@ this.addClass("x-tree-node-disabled"); } var ot = this.node.getOwnerTree(); - var dd = ot.enableDD || ot.enableDrag || ot.enableDrop; + var dd = ot ? (ot.enableDD || ot.enableDrag || ot.enableDrop) : false; if(dd && (!this.node.isRoot || ot.rootVisible)){ Roo.dd.Registry.register(this.elNode, { node: this.node, @@ -383,11 +383,11 @@ // add some indent caching, this helps performance when rendering a large tree this.indentMarkup = n.parentNode ? n.parentNode.ui.getChildIndent() : ''; var t = n.getOwnerTree(); - var txt = t.renderer ? t.renderer(n.attributes) : Roo.util.Format.htmlEncode(n.text); + var txt = t && t.renderer ? t.renderer(n.attributes) : Roo.util.Format.htmlEncode(n.text); if (typeof(n.attributes.html) != 'undefined') { txt = n.attributes.html; } - var tip = t.rendererTip ? t.rendererTip(n.attributes) : txt; + var tip = t && t.rendererTip ? t.rendererTip(n.attributes) : txt; var cb = typeof a.checked == 'boolean'; var href = a.href ? a.href : Roo.isGecko ? "" : "#"; var buf = ['<li class="x-tree-node"><div class="x-tree-node-el ', a.cls,'">', diff --git a/docs/src/Roo_tree_TreePanel.js.html b/docs/src/Roo_tree_TreePanel.js.html index 0d62ae5965..5fee48742a 100644 --- a/docs/src/Roo_tree_TreePanel.js.html +++ b/docs/src/Roo_tree_TreePanel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/TreePanel.js/* +Roo/tree/TreePanel.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -239,7 +239,15 @@ * </ul> * @param {Object} dragOverEvent */ - "nodedragover" : true + "nodedragover" : true, + /** + * @event appendnode + * Fires when append node to the tree + * @param {Roo.tree.TreePanel} this + * @param {Roo.tree.TreeNode} node + * @param {Number} index The index of the newly appended node + */ + "appendnode" : true }); if(this.singleExpand){ diff --git a/docs/src/Roo_tree_TreeSelectionModel.js.html b/docs/src/Roo_tree_TreeSelectionModel.js.html index 5e9aa15e77..e744199506 100644 --- a/docs/src/Roo_tree_TreeSelectionModel.js.html +++ b/docs/src/Roo_tree_TreeSelectionModel.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/TreeSelectionModel.js/* +Roo/tree/TreeSelectionModel.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_tree_TreeSorter.js.html b/docs/src/Roo_tree_TreeSorter.js.html index 0d7ed22060..da27e9021f 100644 --- a/docs/src/Roo_tree_TreeSorter.js.html +++ b/docs/src/Roo_tree_TreeSorter.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/tree/TreeSorter.js/* +Roo/tree/TreeSorter.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_util_CSS.js.html b/docs/src/Roo_util_CSS.js.html index f95d95dcf7..e5639a7e2c 100644 --- a/docs/src/Roo_util_CSS.js.html +++ b/docs/src/Roo_util_CSS.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/util/CSS.js/* +Roo/util/CSS.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_util_ClickRepeater.js.html b/docs/src/Roo_util_ClickRepeater.js.html index ceb320c707..76bc750afc 100644 --- a/docs/src/Roo_util_ClickRepeater.js.html +++ b/docs/src/Roo_util_ClickRepeater.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/util/ClickRepeater.js/* +Roo/util/ClickRepeater.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_util_DelayedTask.js.html b/docs/src/Roo_util_DelayedTask.js.html index f8a421028b..97a9d4cf3c 100644 --- a/docs/src/Roo_util_DelayedTask.js.html +++ b/docs/src/Roo_util_DelayedTask.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/util/DelayedTask.js/* +Roo/util/DelayedTask.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_util_Format.js.html b/docs/src/Roo_util_Format.js.html index f780395403..26e8e5bcd2 100644 --- a/docs/src/Roo_util_Format.js.html +++ b/docs/src/Roo_util_Format.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/util/Format.js/* +Roo/util/Format.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_util_JSON.js.html b/docs/src/Roo_util_JSON.js.html index 3bdf4ea4e3..b4c8a76d2f 100644 --- a/docs/src/Roo_util_JSON.js.html +++ b/docs/src/Roo_util_JSON.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/util/JSON.js/* +Roo/util/JSON.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_util_MixedCollection.js.html b/docs/src/Roo_util_MixedCollection.js.html index 24d9f3e78f..49ef892ac6 100644 --- a/docs/src/Roo_util_MixedCollection.js.html +++ b/docs/src/Roo_util_MixedCollection.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/util/MixedCollection.js/* +Roo/util/MixedCollection.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_util_Observable.js.html b/docs/src/Roo_util_Observable.js.html index 0cea47c6e0..d1e823c509 100644 --- a/docs/src/Roo_util_Observable.js.html +++ b/docs/src/Roo_util_Observable.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/util/Observable.js/* +Roo/util/Observable.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -356,10 +356,12 @@ var ls = this.listeners, scope, len = ls.length; if(len > 0){ this.firing = true; - var args = Array.prototype.slice.call(arguments, 0); + for(var i = 0; i < len; i++){ - var l = ls[i]; - if(l.fireFn.apply(l.scope||this.obj||window, arguments) === false){ + var args = Array.prototype.slice.call(arguments, 0); + var l = ls[i]; + args.push(l.options); + if(l.fireFn.apply(l.scope||this.obj||window, args) === false){ this.firing = false; return false; } diff --git a/docs/src/Roo_util_TaskRunner.js.html b/docs/src/Roo_util_TaskRunner.js.html index dfe2fd5481..2f8751fba9 100644 --- a/docs/src/Roo_util_TaskRunner.js.html +++ b/docs/src/Roo_util_TaskRunner.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/util/TaskRunner.js/* +Roo/util/TaskRunner.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/Roo_util_TextMetrics.js.html b/docs/src/Roo_util_TextMetrics.js.html index 5ed4e4d454..2120d21e5a 100644 --- a/docs/src/Roo_util_TextMetrics.js.html +++ b/docs/src/Roo_util_TextMetrics.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/Roo/util/TextMetrics.js/* +Roo/util/TextMetrics.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/src/String.js.html b/docs/src/String.js.html index ebc37c1a2f..565b0673ec 100644 --- a/docs/src/String.js.html +++ b/docs/src/String.js.html @@ -1,4 +1,4 @@ -/home/edward/gitlive/roojs1/String.js/* +String.js/* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. diff --git a/docs/symbols/Roo.bootstrap.Modal.json b/docs/symbols/Roo.bootstrap.Modal.json index 0a57c129e5..aa66e11426 100644 --- a/docs/symbols/Roo.bootstrap.Modal.json +++ b/docs/symbols/Roo.bootstrap.Modal.json @@ -184,6 +184,14 @@ "values" : [ ] }, + { + "name" : "width", + "type" : "Number", + "desc" : "fixed width - usefull for chrome extension only really.", + "memberOf" : "Roo.bootstrap.Modal", + "values" : [ + ] + }, { "name" : "dataId", "type" : "string", @@ -200,6 +208,14 @@ "values" : [ ] }, + { + "name" : "height", + "type" : "Number", + "desc" : "fixed height - usefull for chrome extension only really.", + "memberOf" : "Roo.bootstrap.Modal", + "values" : [ + ] + }, { "name" : "size", "type" : "String", diff --git a/docs/symbols/Roo.data.JsonStore.json b/docs/symbols/Roo.data.JsonStore.json index 6164eca566..b3d98dcb4f 100644 --- a/docs/symbols/Roo.data.JsonStore.json +++ b/docs/symbols/Roo.data.JsonStore.json @@ -493,6 +493,28 @@ } ] }, + { + "name" : "loadDataFromChildren", + "desc" : "using 'cn' the nested child reader read the child array into it's child stores.", + "isStatic" : false, + "isConstructor" : false, + "isPrivate" : false, + "memberOf" : "Roo.data.Store", + "example" : "", + "deprecated" : "", + "since" : "", + "see" : "", + "params" : [ + { + "name" : "rec", + "type" : "Object", + "desc" : "The record with a 'children array", + "isOptional" : false + } + ], + "returns" : [ + ] + }, { "name" : "clearFilter", "desc" : "Revert to a view of the Record cache with no filtering applied.", diff --git a/docs/symbols/Roo.data.SimpleStore.json b/docs/symbols/Roo.data.SimpleStore.json index 32ef82fef1..b1e41b741a 100644 --- a/docs/symbols/Roo.data.SimpleStore.json +++ b/docs/symbols/Roo.data.SimpleStore.json @@ -24,6 +24,14 @@ "returns" : [ ], "config" : [ + { + "name" : "an", + "type" : "Object", + "desc" : "existing reader (eg. copied from another store)", + "memberOf" : "Roo.data.SimpleStore", + "values" : [ + ] + }, { "name" : "listeners", "type" : "Object", @@ -501,6 +509,28 @@ } ] }, + { + "name" : "loadDataFromChildren", + "desc" : "using 'cn' the nested child reader read the child array into it's child stores.", + "isStatic" : false, + "isConstructor" : false, + "isPrivate" : false, + "memberOf" : "Roo.data.Store", + "example" : "", + "deprecated" : "", + "since" : "", + "see" : "", + "params" : [ + { + "name" : "rec", + "type" : "Object", + "desc" : "The record with a 'children array", + "isOptional" : false + } + ], + "returns" : [ + ] + }, { "name" : "clearFilter", "desc" : "Revert to a view of the Record cache with no filtering applied.", diff --git a/docs/symbols/Roo.data.Store.json b/docs/symbols/Roo.data.Store.json index 61d213d9c7..384e8540a9 100644 --- a/docs/symbols/Roo.data.Store.json +++ b/docs/symbols/Roo.data.Store.json @@ -484,6 +484,28 @@ } ] }, + { + "name" : "loadDataFromChildren", + "desc" : "using 'cn' the nested child reader read the child array into it's child stores.", + "isStatic" : false, + "isConstructor" : false, + "isPrivate" : false, + "memberOf" : "Roo.data.Store", + "example" : "", + "deprecated" : "", + "since" : "", + "see" : "", + "params" : [ + { + "name" : "rec", + "type" : "Object", + "desc" : "The record with a 'children array", + "isOptional" : false + } + ], + "returns" : [ + ] + }, { "name" : "clearFilter", "desc" : "Revert to a view of the Record cache with no filtering applied.", diff --git a/docs/symbols/Roo.form.BasicForm.json b/docs/symbols/Roo.form.BasicForm.json index 90f2d9528e..1dabc71a46 100644 --- a/docs/symbols/Roo.form.BasicForm.json +++ b/docs/symbols/Roo.form.BasicForm.json @@ -53,6 +53,16 @@ "values" : [ ] }, + { + "name" : "errorMask", + "type" : "Boolean", + "desc" : "default false", + "memberOf" : "Roo.form.BasicForm", + "values" : [ + "(true", + "false)" + ] + }, { "name" : "timeout", "type" : "Number", @@ -100,6 +110,14 @@ "memberOf" : "Roo.form.BasicForm", "values" : [ ] + }, + { + "name" : "maskOffset", + "type" : "Number", + "desc" : "Default 100", + "memberOf" : "Roo.form.BasicForm", + "values" : [ + ] } ], "methods" : [ diff --git a/docs/symbols/Roo.form.ComboBox.json b/docs/symbols/Roo.form.ComboBox.json index d386b487c5..7fbca6d986 100644 --- a/docs/symbols/Roo.form.ComboBox.json +++ b/docs/symbols/Roo.form.ComboBox.json @@ -446,6 +446,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "invalidClass", "type" : "String", diff --git a/docs/symbols/Roo.form.ComboBoxArray.json b/docs/symbols/Roo.form.ComboBoxArray.json index 7f9cfe8cdf..356d8a7081 100644 --- a/docs/symbols/Roo.form.ComboBoxArray.json +++ b/docs/symbols/Roo.form.ComboBoxArray.json @@ -229,6 +229,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "validationEvent", "type" : "String/Boolean", diff --git a/docs/symbols/Roo.form.ComboCheck.json b/docs/symbols/Roo.form.ComboCheck.json index 31b2733319..fa0a7e34c0 100644 --- a/docs/symbols/Roo.form.ComboCheck.json +++ b/docs/symbols/Roo.form.ComboCheck.json @@ -447,6 +447,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "invalidClass", "type" : "String", diff --git a/docs/symbols/Roo.form.DateField.json b/docs/symbols/Roo.form.DateField.json index d220215748..30dd451386 100644 --- a/docs/symbols/Roo.form.DateField.json +++ b/docs/symbols/Roo.form.DateField.json @@ -262,14 +262,6 @@ "values" : [ ] }, - { - "name" : "validateOnBlur", - "type" : "Boolean", - "desc" : "Whether the field should validate when it loses focus (defaults to true).", - "memberOf" : "Roo.form.Field", - "values" : [ - ] - }, { "name" : "hideTrigger", "type" : "Boolean", @@ -286,6 +278,14 @@ "values" : [ ] }, + { + "name" : "validateOnBlur", + "type" : "Boolean", + "desc" : "Whether the field should validate when it loses focus (defaults to true).", + "memberOf" : "Roo.form.Field", + "values" : [ + ] + }, { "name" : "inputType", "type" : "String", @@ -310,6 +310,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "invalidClass", "type" : "String", diff --git a/docs/symbols/Roo.form.FCKeditor.json b/docs/symbols/Roo.form.FCKeditor.json index c3013d6ff2..2c46b99e46 100644 --- a/docs/symbols/Roo.form.FCKeditor.json +++ b/docs/symbols/Roo.form.FCKeditor.json @@ -230,6 +230,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "validationEvent", "type" : "String/Boolean", diff --git a/docs/symbols/Roo.form.Form.json b/docs/symbols/Roo.form.Form.json index 34920dbff4..5cd95345eb 100644 --- a/docs/symbols/Roo.form.Form.json +++ b/docs/symbols/Roo.form.Form.json @@ -96,6 +96,16 @@ "values" : [ ] }, + { + "name" : "errorMask", + "type" : "Boolean", + "desc" : "default false", + "memberOf" : "Roo.form.BasicForm", + "values" : [ + "(true", + "false)" + ] + }, { "name" : "labelWidth", "type" : "Number", @@ -167,6 +177,14 @@ "memberOf" : "Roo.form.BasicForm", "values" : [ ] + }, + { + "name" : "maskOffset", + "type" : "Number", + "desc" : "Default 100", + "memberOf" : "Roo.form.BasicForm", + "values" : [ + ] } ], "methods" : [ diff --git a/docs/symbols/Roo.form.Hidden.json b/docs/symbols/Roo.form.Hidden.json index c8519195de..9621263754 100644 --- a/docs/symbols/Roo.form.Hidden.json +++ b/docs/symbols/Roo.form.Hidden.json @@ -213,6 +213,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "autoCreate", "type" : "String/Object", diff --git a/docs/symbols/Roo.form.MonthField.json b/docs/symbols/Roo.form.MonthField.json index 7f214074f8..7e8203bbc2 100644 --- a/docs/symbols/Roo.form.MonthField.json +++ b/docs/symbols/Roo.form.MonthField.json @@ -302,6 +302,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "autoCreate", "type" : "String/Object", diff --git a/docs/symbols/Roo.form.NumberField.json b/docs/symbols/Roo.form.NumberField.json index 3bd3f14da3..5a65fe24d0 100644 --- a/docs/symbols/Roo.form.NumberField.json +++ b/docs/symbols/Roo.form.NumberField.json @@ -269,6 +269,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "autoCreate", "type" : "String/Object", diff --git a/docs/symbols/Roo.form.Select.json b/docs/symbols/Roo.form.Select.json index 2f9a3ec57f..3adc5ea6f5 100644 --- a/docs/symbols/Roo.form.Select.json +++ b/docs/symbols/Roo.form.Select.json @@ -342,14 +342,6 @@ "values" : [ ] }, - { - "name" : "validateOnBlur", - "type" : "Boolean", - "desc" : "Whether the field should validate when it loses focus (defaults to true).", - "memberOf" : "Roo.form.Field", - "values" : [ - ] - }, { "name" : "hideTrigger", "type" : "Boolean", @@ -366,6 +358,14 @@ "values" : [ ] }, + { + "name" : "validateOnBlur", + "type" : "Boolean", + "desc" : "Whether the field should validate when it loses focus (defaults to true).", + "memberOf" : "Roo.form.Field", + "values" : [ + ] + }, { "name" : "listAlign", "type" : "String", @@ -438,6 +438,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "invalidClass", "type" : "String", diff --git a/docs/symbols/Roo.form.TextArea.json b/docs/symbols/Roo.form.TextArea.json index 21dde5b305..293ab4e9c0 100644 --- a/docs/symbols/Roo.form.TextArea.json +++ b/docs/symbols/Roo.form.TextArea.json @@ -222,10 +222,10 @@ ] }, { - "name" : "validationEvent", - "type" : "String/Boolean", - "desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").", - "memberOf" : "Roo.form.Field", + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", "values" : [ ] }, @@ -269,6 +269,14 @@ "values" : [ ] }, + { + "name" : "validationEvent", + "type" : "String/Boolean", + "desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").", + "memberOf" : "Roo.form.Field", + "values" : [ + ] + }, { "name" : "fieldLabel", "type" : "String", diff --git a/docs/symbols/Roo.form.TextField.json b/docs/symbols/Roo.form.TextField.json index 41fe461173..9c4dfe849b 100644 --- a/docs/symbols/Roo.form.TextField.json +++ b/docs/symbols/Roo.form.TextField.json @@ -212,6 +212,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "autoCreate", "type" : "String/Object", diff --git a/docs/symbols/Roo.form.TextItem.json b/docs/symbols/Roo.form.TextItem.json index cd18d7dc2e..b4fd630f05 100644 --- a/docs/symbols/Roo.form.TextItem.json +++ b/docs/symbols/Roo.form.TextItem.json @@ -59,14 +59,6 @@ "values" : [ ] }, - { - "name" : "cls", - "type" : "String", - "desc" : "the class for this item", - "memberOf" : "Roo.form.TextItem", - "values" : [ - ] - }, { "name" : "html", "type" : "String", diff --git a/docs/symbols/Roo.form.TriggerField.json b/docs/symbols/Roo.form.TriggerField.json index f543d70a23..c3d384897f 100644 --- a/docs/symbols/Roo.form.TriggerField.json +++ b/docs/symbols/Roo.form.TriggerField.json @@ -189,14 +189,6 @@ "values" : [ ] }, - { - "name" : "validateOnBlur", - "type" : "Boolean", - "desc" : "Whether the field should validate when it loses focus (defaults to true).", - "memberOf" : "Roo.form.Field", - "values" : [ - ] - }, { "name" : "hideTrigger", "type" : "Boolean", @@ -213,6 +205,14 @@ "values" : [ ] }, + { + "name" : "validateOnBlur", + "type" : "Boolean", + "desc" : "Whether the field should validate when it loses focus (defaults to true).", + "memberOf" : "Roo.form.Field", + "values" : [ + ] + }, { "name" : "inputType", "type" : "String", @@ -229,6 +229,14 @@ "values" : [ ] }, + { + "name" : "allowLeadingSpace", + "type" : "Boolean", + "desc" : "True to prevent the stripping of leading white space", + "memberOf" : "Roo.form.TextField", + "values" : [ + ] + }, { "name" : "autoCreate", "type" : "String/Object", diff --git a/docs/symbols/Roo.tree.TreePanel.json b/docs/symbols/Roo.tree.TreePanel.json index 441a34d7a9..58e52ea94b 100644 --- a/docs/symbols/Roo.tree.TreePanel.json +++ b/docs/symbols/Roo.tree.TreePanel.json @@ -1041,6 +1041,37 @@ "returns" : [ ] }, + { + "name" : "appendnode", + "desc" : "Fires when append node to the tree", + "memberOf" : "Roo.tree.TreePanel", + "example" : "", + "deprecated" : "", + "since" : "", + "see" : "", + "params" : [ + { + "name" : "this", + "type" : "Roo.tree.TreePanel", + "desc" : "", + "isOptional" : false + }, + { + "name" : "node", + "type" : "Roo.tree.TreeNode", + "desc" : "", + "isOptional" : false + }, + { + "name" : "index", + "type" : "Number", + "desc" : "The index of the newly appended node", + "isOptional" : false + } + ], + "returns" : [ + ] + }, { "name" : "startdrag", "desc" : "Fires when a node starts being dragged", diff --git a/docs/symbols/_global_.json b/docs/symbols/_global_.json index 56071eedbe..914027d142 100644 --- a/docs/symbols/_global_.json +++ b/docs/symbols/_global_.json @@ -34,9 +34,25 @@ "returns" : [ ] }, + { + "name" : "merge", + "desc" : "eval:var:merge", + "isStatic" : false, + "isConstructor" : false, + "isPrivate" : false, + "memberOf" : "_global_", + "example" : "", + "deprecated" : "", + "since" : "", + "see" : "", + "params" : [ + ], + "returns" : [ + ] + }, { "name" : "Renderer", - "desc" : "Renderer", + "desc" : "eval:var:Renderer", "isStatic" : false, "isConstructor" : false, "isPrivate" : false, @@ -68,7 +84,23 @@ }, { "name" : "marked", - "desc" : "Marked", + "desc" : "eval:var:marked", + "isStatic" : false, + "isConstructor" : false, + "isPrivate" : false, + "memberOf" : "_global_", + "example" : "", + "deprecated" : "", + "since" : "", + "see" : "", + "params" : [ + ], + "returns" : [ + ] + }, + { + "name" : "noop", + "desc" : "eval:var:noop", "isStatic" : false, "isConstructor" : false, "isPrivate" : false, @@ -100,7 +132,7 @@ }, { "name" : "Parser", - "desc" : "Parsing & Compiling", + "desc" : "eval:var:Parser", "isStatic" : false, "isConstructor" : false, "isPrivate" : false, diff --git a/docs/tree.json b/docs/tree.json index 6f6784cc5e..42390be18e 100644 --- a/docs/tree.json +++ b/docs/tree.json @@ -1259,6 +1259,12 @@ ], "is_class" : true }, + { + "name" : "Roo.form.ComboNested", + "cn" : [ + ], + "is_class" : true + }, { "name" : "Roo.form.DateField", "cn" : [ diff --git a/examples/form/combocheck.html b/examples/form/combocheck.html index 7a7c3e05f5..122c3db3fb 100644 --- a/examples/form/combocheck.html +++ b/examples/form/combocheck.html @@ -28,8 +28,8 @@

The js is not minified so it is readable. See - and - + and + .

diff --git a/examples/form/combocheck.js b/examples/form/combocheck.js index 4b7c05c633..2767519275 100644 --- a/examples/form/combocheck.js +++ b/examples/form/combocheck.js @@ -11,6 +11,10 @@ Roo.onReady(function(){ Roo.QuickTips.init(); + var sampleData = + + + /* * ================ Form 2 ======================= */ diff --git a/examples/form/nestedcombo.html b/examples/form/nestedcombo.html new file mode 100644 index 0000000000..9bea49b020 --- /dev/null +++ b/examples/form/nestedcombo.html @@ -0,0 +1,62 @@ + + + + + Forms + + + + + + + + + +

Nested Combo example

+

+ Demostration of nested multicolumned combo +

+ +

The js is not minified so it is readable. See + and + + .

+ + + + +
+

Display Form

+
+
+ + + +
+
+ 
+    
+    
+
+ + + + + + + + + + + + diff --git a/examples/form/nestedcombo.js b/examples/form/nestedcombo.js new file mode 100644 index 0000000000..8f968a3559 --- /dev/null +++ b/examples/form/nestedcombo.js @@ -0,0 +1,171 @@ +/* + * + * (C) Alan Knowles 2011 + * Licence : Roojs - LGPL + */ + +var mform; +var combo, cats; +Roo.onReady(function(){ + + Roo.QuickTips.init(); + + sampledata = [ + ['A', 'A states', [ + ['AK', 'Alaska'], + ['AZ', 'Arizona', [ + ['AK', 'Alaska'], + ['AZ', 'Arizona'], + ['AR', 'Arkansas'] + ]], + ['AR', 'Arkansas'] + + ]], + ['C', 'C states', [ + ['CA', 'California'], + ['CO', 'Colorado'], + ['CT', 'Connecticut'] + ]], + ['D', 'D states', [ + ['DE', 'Delaware'], + ['DC', 'District of Columbia'] + ]], + ['I', 'I states', [ + + ['ID', 'Idaho'], + ['IL', 'Illinois'], + ['IN', 'Indiana'], + ['IA', 'Iowa'], + ['IDA', 'Idaho'], + ['ILA', 'Illinois'], + ['INA', 'Indiana'], + ['IAA', 'Iowa'] + ]], + ['E', 'Empty states', []], + ]; + /* + * ================ Form 2 ======================= + */ + mform = Roo.factory({ + xns : Roo.form, + xtype : 'Form', + labelAlign: 'top', + items : [ + { + xtype : 'ComboNested', + xns: Roo.form, + + fieldLabel: 'State', + + name : 'states_list', + hiddenName:'states', + + + valueField : 'abbr', + displayField:'state', + + + store: { + xns : Roo.data, + xtype : 'SimpleStore', + fields: ['abbr', 'state' , 'cn'], + data : sampledata// from states.js + + }, + listWidth: 250, + typeAhead: true, + mode: 'local', + triggerAction: 'all', + emptyText:'Select a state...', + selectOnFocus:true, + width:190, + listeners : { + change: function() { + Roo.log("changed to " + this.getValue()); + + } + } + }, + + { + xtype : 'ComboNested', + allowBlank : true, + alwaysQuery : true, + displayField : 'name', + editable : false, + emptyText : 'Category', + fieldLabel : 'Category', + forceSelection : true, + hiddenName : 'supplier_category_id', + listWidth : 200, + maxColumns : 4, + maxHeight: 400, + loadingText : 'Searching', + minChars : 2, + name : 'supplier_category_id_name', + pageSize : 999, + qtip : 'Category', + queryParam : 'query[fullpath]', + selectOnFocus : true, + triggerAction : 'all', + typeAhead : true, + valueField : 'id', + width : 300, + listeners : { + select : function (combo, record, index) + { + // _this.grid.footer.onClick('first'); + } + }, + xns : Roo.form, + '|xns' : 'Roo.form', + store : { + xtype : 'Store', + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'fullpath' }, + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + o.params._as_tree = 1; + // set more here + } + }, + xns : Roo.data, + '|xns' : 'Roo.data', + proxy : { + xtype : 'HttpProxy', + method : 'GET', + url : '/web.Texon/admin.php/Roo/category.php', + xns : Roo.data, + '|xns' : 'Roo.data' + }, + reader : { + xtype : 'JsonReader', + fields : [{"name":"id","type":"int"},{"name":"fullpath","type":"string"},'name', 'cn' ], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data' + } + } + }, + + + + ] + + }); + + mform.render('form-ct5'); + combo = mform.findField('states'); + cats = mform.findField('supplier_category_id'); + /* mform.setValues({ + states : '["AK","AZ"]', + states_list : "Alaska, Arizona" + + }); + */ + + +}); \ No newline at end of file diff --git a/roojs-all.js b/roojs-all.js index 0eb4c2a68e..004a9c5a26 100644 --- a/roojs-all.js +++ b/roojs-all.js @@ -212,11 +212,11 @@ return el.nextSibling;}throw 'Illegal insertion point -> "'+M+'"';},insertBefore el.appendChild(N);}else{var O=E(o);N=this.insertHtml("beforeEnd",el,O);}return M?Roo.get(N,true):N;},overwrite:function(el,o,M){el=Roo.getDom(el);if(o.ns){while(el.childNodes.length){el.removeChild(el.firstChild);}F(o,el);}else{el.innerHTML=E(o);}return M?Roo.get(el.firstChild,true):el.firstChild; },createTemplate:function(o){var M=E(o);return new Roo.Template(M);}};}(); // Roo/Template.js -Roo.Template=function(A){if(A instanceof Array){A=A.join("");}else if(arguments.length>1){A=Array.prototype.join.call(arguments,"");}if(typeof(A)=='object'){Roo.apply(this,A)}else{this.html=A;}if(this.url){this.load();}};Roo.Template.prototype={url:false,html:'',applyTemplate:function(A){try{if(this.compiled){return this.compiled(A); -}var B=this.disableFormats!==true;var fm=Roo.util.Format,C=this;var fn=function(m,D,E,F){if(E&&B){if(E.substr(0,5)=="this."){return C.call(E.substr(5),A[D],A);}else{if(F){var re=/^\s*['"](.*)["']\s*$/;F=F.split(',');for(var i=0,G=F.length;i1){A=Array.prototype.join.call(arguments,"");}if(typeof(A)=='object'){Roo.apply(this,A)}else{this.html=A;}if(this.url){this.load();}};Roo.Template.prototype={url:false,html:'',applyTemplate:function(A){Roo.log(["applyTemplate",A]); +try{if(this.compiled){return this.compiled(A);}var B=this.disableFormats!==true;var fm=Roo.util.Format,C=this;var fn=function(m,D,E,F){if(E&&B){if(E.substr(0,5)=="this."){return C.call(E.substr(5),A[D],A);}else{if(F){var re=/^\s*['"](.*)["']\s*$/;F=F.split(','); +for(var i=0,G=F.length;i0){this.firing=true;var F=Array.prototype.slice.call(arguments,0); -for(var i=0;i0){this.firing=true;for(var i=0;i[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/} -;A.bullet=/(?:[*+-]|\d+\.)/;A.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;A.item=replace(A.item,'gm')(/bull/g,A.bullet)();A.list=replace(A.list)(/bull/g,A.bullet)('hr','\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')('def','\\n+(?='+A.def.source+')')();A.blockquote=replace(A.blockquote)('def',A.def)(); -A._tag='(?!(?:'+'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'+'|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'+'|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';A.html=replace(A.html)('comment',//)('closed',/<(tag)[\s\S]+?<\/\1>/)('closing',/])*?>/)(/tag/g,A._tag)(); -A.paragraph=replace(A.paragraph)('hr',A.hr)('heading',A.heading)('lheading',A.lheading)('blockquote',A.blockquote)('tag','<'+A._tag)('def',A.def)();A.normal=merge({},A);A.gfm=merge({},A.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/} -);A.gfm.paragraph=replace(A.paragraph)('(?!','(?!'+A.gfm.fences.source.replace('\\1','\\2')+'|'+A.list.source.replace('\\1','\\3')+'|')();A.tables=merge({},A.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/} -);function Lexer(C){this.tokens=[];this.tokens.links={};this.options=C||marked.defaults;this.rules=A.normal;if(this.options.gfm){if(this.options.tables){this.rules=A.tables;}else{this.rules=A.gfm;}}}Lexer.rules=A;Lexer.lex=function(C,D){var E=new Lexer(D); -return E.lex(C);};Lexer.prototype.lex=function(C){C=C.replace(/\r\n|\r/g,'\n').replace(/\t/g,' ').replace(/\u00a0/g,' ').replace(/\u2424/g,'\n');return this.token(C,true);};Lexer.prototype.token=function(C,D,bq){var C=C.replace(/^ +$/gm,''),E,F,G,H,b,I,J,i,l; -while(C){if(G=this.rules.newline.exec(C)){C=C.substring(G[0].length);if(G[0].length>1){this.tokens.push({type:'space'});}}if(G=this.rules.code.exec(C)){C=C.substring(G[0].length);G=G[0].replace(/^ {4}/gm,'');this.tokens.push({type:'code',text:!this.options.pedantic?G.replace(/\n+$/,''):G} -);continue;}if(G=this.rules.fences.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'code',lang:G[2],text:G[3]||''});continue;}if(G=this.rules.heading.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'heading',depth:G[1].length,text:G[2]} -);continue;}if(D&&(G=this.rules.nptable.exec(C))){C=C.substring(G[0].length);I={type:'table',header:G[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:G[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:G[3].replace(/\n$/,'').split('\n')};for(i=0;i ?/gm,'');this.token(G,D,true);this.tokens.push({type:'blockquote_end'});continue;}if(G=this.rules.list.exec(C)){C=C.substring(G[0].length); -H=G[2];this.tokens.push({type:'list_start',ordered:H.length>1});G=G[0].match(this.rules.item);E=false;l=G.length;i=0;for(;i1&&b.length>1)){C=G.slice(i+1).join('\n')+C;i=l-1;}}F=E||/\n\n(?!\s*$)/.test(I);if(i!==l-1){E=I.charAt(I.length-1)==='\n';if(!F){F=E;}}this.tokens.push({type:F?'loose_item_start':'list_item_start'} -);this.token(I,false,bq);this.tokens.push({type:'list_item_end'});}this.tokens.push({type:'list_end'});continue;}if(G=this.rules.html.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:this.options.sanitize?'paragraph':'html',pre:!this.options.sanitizer&&(G[1]==='pre'||G[1]==='script'||G[1]==='style'),text:G[0]} -);continue;}if((!bq&&D)&&(G=this.rules.def.exec(C))){C=C.substring(G[0].length);this.tokens.links[G[1].toLowerCase()]={href:G[2],title:G[3]};continue;}if(D&&(G=this.rules.table.exec(C))){C=C.substring(G[0].length);I={type:'table',header:G[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:G[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:G[3].replace(/(?: *\| *)?\n$/,'').split('\n')} -;for(i=0;i])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/;B.link=replace(B.link)('inside',B._inside)('href',B._href)();B.reflink=replace(B.reflink)('inside',B._inside)();B.normal=merge({},B);B.pedantic=merge({} -,B.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});B.gfm=merge({},B.normal,{escape:replace(B.escape)('])','~|])')(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(B.text)(']|','~]|')('|','|https?://|')()} -);B.breaks=merge({},B.gfm,{br:replace(B.br)('{2,}','*')(),text:replace(B.gfm.text)('{2,}','*')()});function InlineLexer(C,D){this.options=D||marked.defaults;this.links=C;this.rules=B.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options; -if(!this.links){throw new Error('Tokens array requires a `links` property.');}if(this.options.gfm){if(this.options.breaks){this.rules=B.breaks;}else{this.rules=B.gfm;}}else if(this.options.pedantic){this.rules=B.pedantic;}}InlineLexer.rules=B;InlineLexer.output=function(C,D,E){var F=new InlineLexer(D,E); -return F.output(C);};InlineLexer.prototype.output=function(C){var D='',E,F,G,H;while(C){if(H=this.rules.escape.exec(C)){C=C.substring(H[0].length);D+=H[1];continue;}if(H=this.rules.autolink.exec(C)){C=C.substring(H[0].length);if(H[2]==='@'){F=H[1].charAt(6)===':'?this.mangle(H[1].substring(7)):this.mangle(H[1]); -G=this.mangle('mailto:')+F;}else{F=escape(H[1]);G=F;}D+=this.renderer.link(G,null,F);continue;}if(!this.inLink&&(H=this.rules.url.exec(C))){C=C.substring(H[0].length);F=escape(H[1]);G=F;D+=this.renderer.link(G,null,F);continue;}if(H=this.rules.tag.exec(C)){if(!this.inLink&&/^/i.test(H[0])){this.inLink=false;}C=C.substring(H[0].length);D+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(H[0]):escape(H[0]):H[0];continue;}if(H=this.rules.link.exec(C)){C=C.substring(H[0].length);this.inLink=true; -D+=this.outputLink(H,{href:H[2],title:H[3]});this.inLink=false;continue;}if((H=this.rules.reflink.exec(C))||(H=this.rules.nolink.exec(C))){C=C.substring(H[0].length);E=(H[2]||H[1]).replace(/\s+/g,' ');E=this.links[E.toLowerCase()];if(!E||!E.href){D+=H[0].charAt(0); -C=H[0].substring(1)+C;continue;}this.inLink=true;D+=this.outputLink(H,E);this.inLink=false;continue;}if(H=this.rules.strong.exec(C)){C=C.substring(H[0].length);D+=this.renderer.strong(this.output(H[2]||H[1]));continue;}if(H=this.rules.em.exec(C)){C=C.substring(H[0].length); -D+=this.renderer.em(this.output(H[2]||H[1]));continue;}if(H=this.rules.code.exec(C)){C=C.substring(H[0].length);D+=this.renderer.codespan(escape(H[2],true));continue;}if(H=this.rules.br.exec(C)){C=C.substring(H[0].length);D+=this.renderer.br();continue;}if(H=this.rules.del.exec(C)){C=C.substring(H[0].length); -D+=this.renderer.del(this.output(H[1]));continue;}if(H=this.rules.text.exec(C)){C=C.substring(H[0].length);D+=this.renderer.text(escape(this.smartypants(H[0])));continue;}if(C){throw new Error('Infinite loop on byte: '+C.charCodeAt(0));}}return D;};InlineLexer.prototype.outputLink=function(C,D){var E=escape(D.href),F=D.title?escape(D.title):null; -return C[0].charAt(0)!=='!'?this.renderer.link(E,F,this.output(C[1])):this.renderer.image(E,F,escape(C[1]));};InlineLexer.prototype.smartypants=function(C){if(!this.options.smartypants){return C;}return C.replace(/---/g,'\u2014').replace(/--/g,'\u2013').replace(/(^|[-\u2014/(\[{"\s])'/g,'$1\u2018').replace(/'/g,'\u2019').replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026'); -};InlineLexer.prototype.mangle=function(C){if(!this.options.mangle){return C;}var D='',l=C.length,i=0,ch;for(;i0.5){ch='x'+ch.toString(16);}D+='&#'+ch+';';}return D;};function Renderer(C){this.options=C||{};}Renderer.prototype.code=function(C,D,E){if(this.options.highlight){var F=this.options.highlight(C,D); -if(F!=null&&F!==C){E=true;C=F;}}else{E=true;}if(!D){return '
'+(E?C:escape(C,true))+'\n
';}return '
'+(E?C:escape(C,true))+'\n
\n';};Renderer.prototype.blockquote=function(C){return '
\n'+C+'
\n'; -};Renderer.prototype.html=function(C){return C;};Renderer.prototype.heading=function(C,D,E){return ''+C+'\n';};Renderer.prototype.hr=function(){return this.options.xhtml?'
\n':'
\n'; -};Renderer.prototype.list=function(C,D){var E=D?'ol':'ul';return '<'+E+'>\n'+C+'\n';};Renderer.prototype.listitem=function(C){return '
  • '+C+'
  • \n';};Renderer.prototype.paragraph=function(C){return '

    '+C+'

    \n';};Renderer.prototype.table=function(C,D){return '\n'+'\n'+C+'\n'+'\n'+D+'\n'+'
    \n'; -};Renderer.prototype.tablerow=function(C){return '\n'+C+'\n';};Renderer.prototype.tablecell=function(C,D){var E=D.header?'th':'td';var F=D.align?'<'+E+' style="text-align:'+D.align+'">':'<'+E+'>';return F+C+'\n';};Renderer.prototype.strong=function(C){return ''+C+''; -};Renderer.prototype.em=function(C){return ''+C+'';};Renderer.prototype.codespan=function(C){return ''+C+'';};Renderer.prototype.br=function(){return this.options.xhtml?'
    ':'
    ';};Renderer.prototype.del=function(C){return ''+C+''; -};Renderer.prototype.link=function(C,D,E){if(this.options.sanitize){try{var F=decodeURIComponent(unescape(C)).replace(/[^\w:]/g,'').toLowerCase();}catch(e){return '';}if(F.indexOf('javascript:')===0||F.indexOf('vbscript:')===0){return '';}}var G='
    ';return G;};Renderer.prototype.image=function(C,D,E){var F=''+E+'':'>';return F;};Renderer.prototype.text=function(C){return C;};function Parser(C){this.tokens=[]; -this.token=null;this.options=C||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options;}Parser.parse=function(C,D,E){var F=new Parser(D,E);return F.parse(C);};Parser.prototype.parse=function(C){this.inline=new InlineLexer(C.links,this.options,this.renderer); -this.tokens=C.reverse();var D='';while(this.next()){D+=this.tok();}return D;};Parser.prototype.next=function(){return this.token=this.tokens.pop();};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0;};Parser.prototype.parseText=function(){var C=this.token.text; -while(this.peek().type==='text'){C+='\n'+this.next().text;}return this.inline.output(C);};Parser.prototype.tok=function(){switch(this.token.type){case 'space':{return '';}case 'hr':{return this.renderer.hr();}case 'heading':{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text); -}case 'code':{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);}case 'table':{var C='',D='',i,E,F,G,j;F='';for(i=0;i/g,'>').replace(/"/g,'"').replace(/'/g,''');}function unescape(C){return C.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(_,n){n=n.toLowerCase(); -if(n==='colon'){return ':';}if(n.charAt(0)==='#'){return n.charAt(1)==='x'?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1));}return '';});}function replace(C,D){C=C.source;D=D||'';return function E(F,G){if(!F){return new RegExp(C,D); -}G=G.source||G;G=G.replace(/(^|[^\[])\^/g,'$1');C=C.replace(F,G);return E;};}function noop(){}noop.exec=noop;function merge(C){var i=1,D,E;for(;iAn error occured:

    '+escape(e.message+'',true)+'
    '; -}throw e;}}marked.options=marked.setOptions=function(C){merge(marked.defaults,C);return marked;};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:'lang-',smartypants:false,headerPrefix:'',renderer:new Renderer,xhtml:false} -;marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;Roo.Markdown.marked=marked;})(); +return Roo.Markdown.marked(A);};(function(){var A=function(I,J){return I.replace(!J?/&(?!#?\w+;)/g:/&/g,'&').replace(//g,'>').replace(/"/g,'"').replace(/'/g,''');};var unescape=function(I){return I.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(_,n){n=n.toLowerCase(); +if(n==='colon'){return ':';}if(n.charAt(0)==='#'){return n.charAt(1)==='x'?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1));}return '';});};var replace=function(I,J){I=I.source;J=J||'';return function K(L,M){if(!L){return new RegExp(I,J); +}M=M.source||M;M=M.replace(/(^|[^\[])\^/g,'$1');I=I.replace(L,M);return K;};};var noop=function(){};noop.exec=noop;var B=function(I){var i=1,J,K;for(;i[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/} +;block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,'gm')(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)('hr','\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')('def','\\n+(?='+block.def.source+')')(); +block.blockquote=replace(block.blockquote)('def',block.def)();block._tag='(?!(?:'+'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'+'|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'+'|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';block.html=replace(block.html)('comment',//)('closed',/<(tag)[\s\S]+?<\/\1>/)('closing',/])*?>/)(/tag/g,block._tag)(); +block.paragraph=replace(block.paragraph)('hr',block.hr)('heading',block.heading)('lheading',block.lheading)('blockquote',block.blockquote)('tag','<'+block._tag)('def',block.def)();block.normal=B({},block);block.gfm=B({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/} +);block.gfm.paragraph=replace(block.paragraph)('(?!','(?!'+block.gfm.fences.source.replace('\\1','\\2')+'|'+block.list.source.replace('\\1','\\3')+'|')();block.tables=B({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/} +);var C=function(I){this.tokens=[];this.tokens.links={};this.options=I||H.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables;}else{this.rules=block.gfm;}}};C.rules=block;C.lex=function(I,J){var K=new C(J); +return K.lex(I);};C.prototype.lex=function(I){I=I.replace(/\r\n|\r/g,'\n').replace(/\t/g,' ').replace(/\u00a0/g,' ').replace(/\u2424/g,'\n');return this.token(I,true);};C.prototype.token=function(I,J,bq){var I=I.replace(/^ +$/gm,''),K,L,M,N,b,O,P,i,l;while(I){if(M=this.rules.newline.exec(I)){I=I.substring(M[0].length); +if(M[0].length>1){this.tokens.push({type:'space'});}}if(M=this.rules.code.exec(I)){I=I.substring(M[0].length);M=M[0].replace(/^ {4}/gm,'');this.tokens.push({type:'code',text:!this.options.pedantic?M.replace(/\n+$/,''):M});continue;}if(M=this.rules.fences.exec(I)){I=I.substring(M[0].length); +this.tokens.push({type:'code',lang:M[2],text:M[3]||''});continue;}if(M=this.rules.heading.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:'heading',depth:M[1].length,text:M[2]});continue;}if(J&&(M=this.rules.nptable.exec(I))){I=I.substring(M[0].length); +O={type:'table',header:M[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:M[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:M[3].replace(/\n$/,'').split('\n')};for(i=0;i ?/gm,'');this.token(M,J,true); +this.tokens.push({type:'blockquote_end'});continue;}if(M=this.rules.list.exec(I)){I=I.substring(M[0].length);N=M[2];this.tokens.push({type:'list_start',ordered:N.length>1});M=M[0].match(this.rules.item);K=false;l=M.length;i=0;for(;i1&&b.length>1)){I=M.slice(i+1).join('\n')+I; +i=l-1;}}L=K||/\n\n(?!\s*$)/.test(O);if(i!==l-1){K=O.charAt(O.length-1)==='\n';if(!L){L=K;}}this.tokens.push({type:L?'loose_item_start':'list_item_start'});this.token(O,false,bq);this.tokens.push({type:'list_item_end'});}this.tokens.push({type:'list_end'}); +continue;}if(M=this.rules.html.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:this.options.sanitize?'paragraph':'html',pre:!this.options.sanitizer&&(M[1]==='pre'||M[1]==='script'||M[1]==='style'),text:M[0]});continue;}if((!bq&&J)&&(M=this.rules.def.exec(I))){I=I.substring(M[0].length); +this.tokens.links[M[1].toLowerCase()]={href:M[2],title:M[3]};continue;}if(J&&(M=this.rules.table.exec(I))){I=I.substring(M[0].length);O={type:'table',header:M[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:M[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:M[3].replace(/(?: *\| *)?\n$/,'').split('\n')} +;for(i=0;i])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/;D.link=replace(D.link)('inside',D._inside)('href',D._href)();D.reflink=replace(D.reflink)('inside',D._inside)();D.normal=B({},D);D.pedantic=B({},D.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/} +);D.gfm=B({},D.normal,{escape:replace(D.escape)('])','~|])')(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(D.text)(']|','~]|')('|','|https?://|')()});D.breaks=B({},D.gfm,{br:replace(D.br)('{2,}','*')(),text:replace(D.gfm.text)('{2,}','*')()} +);var E=function(I,J){this.options=J||H.defaults;this.links=I;this.rules=D.normal;this.renderer=this.options.renderer||new F;this.renderer.options=this.options;if(!this.links){throw new Error('Tokens array requires a `links` property.');}if(this.options.gfm){if(this.options.breaks){this.rules=D.breaks; +}else{this.rules=D.gfm;}}else if(this.options.pedantic){this.rules=D.pedantic;}};E.rules=D;E.output=function(I,J,K){var L=new E(J,K);return L.output(I);};E.prototype.output=function(I){var J='',K,L,M,N;while(I){if(N=this.rules.escape.exec(I)){I=I.substring(N[0].length); +J+=N[1];continue;}if(N=this.rules.autolink.exec(I)){I=I.substring(N[0].length);if(N[2]==='@'){L=N[1].charAt(6)===':'?this.mangle(N[1].substring(7)):this.mangle(N[1]);M=this.mangle('mailto:')+L;}else{L=A(N[1]);M=L;}J+=this.renderer.link(M,null,L);continue; +}if(!this.inLink&&(N=this.rules.url.exec(I))){I=I.substring(N[0].length);L=A(N[1]);M=L;J+=this.renderer.link(M,null,L);continue;}if(N=this.rules.tag.exec(I)){if(!this.inLink&&/^
    /i.test(N[0])){this.inLink=false; +}I=I.substring(N[0].length);J+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(N[0]):A(N[0]):N[0];continue;}if(N=this.rules.link.exec(I)){I=I.substring(N[0].length);this.inLink=true;J+=this.outputLink(N,{href:N[2],title:N[3]});this.inLink=false; +continue;}if((N=this.rules.reflink.exec(I))||(N=this.rules.nolink.exec(I))){I=I.substring(N[0].length);K=(N[2]||N[1]).replace(/\s+/g,' ');K=this.links[K.toLowerCase()];if(!K||!K.href){J+=N[0].charAt(0);I=N[0].substring(1)+I;continue;}this.inLink=true;J+=this.outputLink(N,K); +this.inLink=false;continue;}if(N=this.rules.strong.exec(I)){I=I.substring(N[0].length);J+=this.renderer.strong(this.output(N[2]||N[1]));continue;}if(N=this.rules.em.exec(I)){I=I.substring(N[0].length);J+=this.renderer.em(this.output(N[2]||N[1]));continue; +}if(N=this.rules.code.exec(I)){I=I.substring(N[0].length);J+=this.renderer.codespan(A(N[2],true));continue;}if(N=this.rules.br.exec(I)){I=I.substring(N[0].length);J+=this.renderer.br();continue;}if(N=this.rules.del.exec(I)){I=I.substring(N[0].length);J+=this.renderer.del(this.output(N[1])); +continue;}if(N=this.rules.text.exec(I)){I=I.substring(N[0].length);J+=this.renderer.text(A(this.smartypants(N[0])));continue;}if(I){throw new Error('Infinite loop on byte: '+I.charCodeAt(0));}}return J;};E.prototype.outputLink=function(I,J){var K=A(J.href),L=J.title?A(J.title):null; +return I[0].charAt(0)!=='!'?this.renderer.link(K,L,this.output(I[1])):this.renderer.image(K,L,A(I[1]));};E.prototype.smartypants=function(I){if(!this.options.smartypants){return I;}return I.replace(/---/g,'\u2014').replace(/--/g,'\u2013').replace(/(^|[-\u2014/(\[{"\s])'/g,'$1\u2018').replace(/'/g,'\u2019').replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026'); +};E.prototype.mangle=function(I){if(!this.options.mangle){return I;}var J='',l=I.length,i=0,ch;for(;i0.5){ch='x'+ch.toString(16);}J+='&#'+ch+';';}return J;};var F=function(I){this.options=I||{};};F.prototype.code=function(I,J,K){if(this.options.highlight){var L=this.options.highlight(I,J); +if(L!=null&&L!==I){K=true;I=L;}}else{K=true;}if(!J){return '
    '+(K?I:A(I,true))+'\n
    ';}return '
    '+(K?I:A(I,true))+'\n
    \n';};F.prototype.blockquote=function(I){return '
    \n'+I+'
    \n'; +};F.prototype.html=function(I){return I;};F.prototype.heading=function(I,J,K){return ''+I+'\n';};F.prototype.hr=function(){return this.options.xhtml?'
    \n':'
    \n'; +};F.prototype.list=function(I,J){var K=J?'ol':'ul';return '<'+K+'>\n'+I+'\n';};F.prototype.listitem=function(I){return '
  • '+I+'
  • \n';};F.prototype.paragraph=function(I){return '

    '+I+'

    \n';};F.prototype.table=function(I,J){return '\n'+'\n'+I+'\n'+'\n'+J+'\n'+'
    \n'; +};F.prototype.tablerow=function(I){return '\n'+I+'\n';};F.prototype.tablecell=function(I,J){var K=J.header?'th':'td';var L=J.align?'<'+K+' style="text-align:'+J.align+'">':'<'+K+'>';return L+I+'\n';};F.prototype.strong=function(I){return ''+I+''; +};F.prototype.em=function(I){return ''+I+'';};F.prototype.codespan=function(I){return ''+I+'';};F.prototype.br=function(){return this.options.xhtml?'
    ':'
    ';};F.prototype.del=function(I){return ''+I+'';};F.prototype.link=function(I,J,K){if(this.options.sanitize){try{var L=decodeURIComponent(unescape(I)).replace(/[^\w:]/g,'').toLowerCase(); +}catch(e){return '';}if(L.indexOf('javascript:')===0||L.indexOf('vbscript:')===0){return '';}}var M='
    ';return M;};F.prototype.image=function(I,J,K){var L=''+K+'':'>';return L;};F.prototype.text=function(I){return I;};var G=function(I){this.tokens=[];this.token=null;this.options=I||H.defaults;this.options.renderer=this.options.renderer||new F;this.renderer=this.options.renderer;this.renderer.options=this.options; +};G.parse=function(I,J,K){var L=new G(J,K);return L.parse(I);};G.prototype.parse=function(I){this.inline=new E(I.links,this.options,this.renderer);this.tokens=I.reverse();var J='';while(this.next()){J+=this.tok();}return J;};G.prototype.next=function(){return this.token=this.tokens.pop(); +};G.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0;};G.prototype.parseText=function(){var I=this.token.text;while(this.peek().type==='text'){I+='\n'+this.next().text;}return this.inline.output(I);};G.prototype.tok=function(){switch(this.token.type){case 'space':{return ''; +}case 'hr':{return this.renderer.hr();}case 'heading':{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);}case 'code':{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);}case 'table':{var I='',J='',i,K,L,M,j; +L='';for(i=0;iAn error occured:

    '+A(e.message+'',true)+'
    ';}throw e;}};H.options=H.setOptions=function(I){B(H.defaults,I); +return H;};H.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:'lang-',smartypants:false,headerPrefix:'',renderer:new F,xhtml:false};H.Parser=G;H.parser=G.parse; +H.Renderer=F;H.Lexer=C;H.lexer=C.lex;H.InlineLexer=E;H.inlineLexer=E.output;H.parse=H;Roo.Markdown.marked=H;})(); // Roo/dd/DragDrop.js (function(){var A=Roo.EventManager;var B=Roo.lib.Dom;Roo.dd.DragDrop=function(id,C,D){if(id){this.init(id,C,D);}};Roo.extend(Roo.dd.DragDrop,Roo.util.Observable,{id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true; },unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(x,y){} @@ -816,7 +816,7 @@ Roo.fly(this.getDragEl()).setSize(el.offsetWidth,el.offsetHeight);}},b4MouseDown },endDrag:function(e){var A=this.getEl();var B=this.getDragEl();B.style.visibility="";this.beforeMove();A.style.visibility="hidden";Roo.dd.DDM.moveToEl(A,B);B.style.visibility="hidden";A.style.visibility="";this.afterDrag();},beforeMove:function(){},afterDrag:function(){} ,toString:function(){return ("DDProxy "+this.id);}}); // Roo/dd/DDTarget.js -Roo.dd.DDTarget=function(id,A,B){if(id){this.initTarget(id,A,B);}if(B.listeners||B.events){Roo.dd.DragDrop.superclass.constructor.call(this,{listeners:B.listeners||{},events:B.events||{}});}};Roo.extend(Roo.dd.DDTarget,Roo.dd.DragDrop,{toString:function(){return ("DDTarget "+this.id); +Roo.dd.DDTarget=function(id,A,B){if(id){this.initTarget(id,A,B);}if(B&&(B.listeners||B.events)){Roo.dd.DragDrop.superclass.constructor.call(this,{listeners:B.listeners||{},events:B.events||{}});}};Roo.extend(Roo.dd.DDTarget,Roo.dd.DragDrop,{toString:function(){return ("DDTarget "+this.id); }}); // Roo/dd/ScrollManager.js Roo.dd.ScrollManager=function(){var A=Roo.dd.DragDropMgr;var B={};var C=null;var D={};var E=function(e){C=null;H();};var F=function(){if(A.dragCurrent){A.refreshCache(A.dragCurrent.groups);}};var G=function(){if(A.dragCurrent){var K=Roo.dd.ScrollManager;if(!K.animate){if(D.el.scroll(D.dir,K.increment)){F(); @@ -894,21 +894,21 @@ for(var i=0,B=A.length;iv2?1:(v1v2?1:(v1{'+this.displayField+'}',isEmpty:function(D,E){var dl=typeof(D.data)!='undefined'?D.data.length:D.length; +return dl?'has-children':'no-children'}});}var B=this.store;if(i>0){B=new Roo.data.SimpleStore({reader:this.store.reader,data:[]});}this.stores[i]=B;var C=this.views[i]=new Roo.View(il,this.tpl,{singleSelect:true,store:B,selectedClass:this.selectedClass}); +C.getEl().setWidth(lw);C.getEl().setStyle({position:i<1?'relative':'absolute',top:0,left:(i*lw)+'px',display:i>0?'none':'block'});C.on('selectionchange',this.onSelectChange,this,{list:i});C.on('dblclick',this.onDoubleClick,this,{list:i});B.on('beforeload',this.onBeforeLoad,this); +B.on('load',this.onLoad,this,{list:i});B.on('loadexception',this.onLoadException,this);},restrictHeight:function(){var mh=0;Roo.each(this.innerLists,function(il,i){var el=this.views[i].getEl();el.dom.style.height='';var A=el.dom;var h=Math.max(il.clientHeight,il.offsetHeight,il.scrollHeight); +mh=Math.max(h,mh);if(i<1){el.setHeight(h'+this.loadingText+'':'');this.restrictHeight();this.selectedIndex=-1;},onLoad:function(a,b,c,d){if(!this.loadingChildren){for(var i=1; +i0){this.expand();this.restrictHeight();}else{this.onEmptyResults();}if(!this.loadingChildren){this.selectActive();}},onLoadException:function(){this.collapse();Roo.log(this.store.reader.jsonData);if(this.store&&typeof(this.store.reader.jsonData.errorMsg)!='undefined'){Roo.MessageBox.alert("Error loading",this.store.reader.jsonData.errorMsg); +}},cleanLeadingSpace:function(e){},onSelectChange:function(A,B,C){var ix=A.getSelectedIndexes();if(C.list>this.maxColumns-2){if(A.store.getCount()<1){this.views[C.list].getEl().setStyle({display:'none'});}else{if(ix.length){this.setFromData(A.store.getAt(ix[0]).data); +}}return;}if(!ix.length){var D=this.stores[C.list+1];D.data.clear();return;}var E=A.store.getAt(ix[0]);this.setFromData(E.data);this.fireEvent('select',this,E,ix[0]);var lw=Math.floor(((this.listWidth*this.maxColumns||Math.max(this.wrap.getWidth(),this.minListWidth))-this.list.getFrameWidth('lr'))/this.maxColumns); +this.loadingChildren=true;this.stores[C.list+1].loadDataFromChildren(E);this.loadingChildren=false;var dl=this.stores[C.list+1].getTotalCount();this.views[C.list+1].getEl().setHeight(this.innerLists[0].getHeight());this.views[C.list+1].getEl().setStyle({display:dl?'block':'none'} +);for(var i=C.list+2;iv2?1:(v1v2?1:(v1 0){ this.firing = true; - var args = Array.prototype.slice.call(arguments, 0); + for(var i = 0; i < len; i++){ - var l = ls[i]; - if(l.fireFn.apply(l.scope||this.obj||window, arguments) === false){ + var args = Array.prototype.slice.call(arguments, 0); + var l = ls[i]; + args.push(l.options); + if(l.fireFn.apply(l.scope||this.obj||window, args) === false){ this.firing = false; return false; } @@ -16802,10 +16805,86 @@ Roo.Markdown.toHtml = function(text) { // (function() { + /** + * eval:var:escape + * eval:var:unescape + * eval:var:replace + */ + + /** + * Helpers + */ + + var escape = function (html, encode) { + return html + .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); + } + + var unescape = function (html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) { + n = n.toLowerCase(); + if (n === 'colon') { return ':'; } + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); + } + + var replace = function (regex, opt) { + regex = regex.source; + opt = opt || ''; + return function self(name, val) { + if (!name) { return new RegExp(regex, opt); } + val = val.source || val; + val = val.replace(/(^|[^\[])\^/g, '$1'); + regex = regex.replace(name, val); + return self; + }; + } + + + /** + * eval:var:noop + */ + var noop = function () {} + noop.exec = noop; + + /** + * eval:var:merge + */ + var merge = function (obj) { + var i = 1 + , target + , key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; + } + + /** * Block-Level Grammar */ + + + var block = { newline: /^\n+/, code: /^( {4}[^\n]+\n*)+/, @@ -16895,7 +16974,7 @@ Roo.Markdown.toHtml = function(text) { * Block Lexer */ - function Lexer(options) { + var Lexer = function (options) { this.tokens = []; this.tokens.links = {}; this.options = options || marked.defaults; @@ -17313,7 +17392,7 @@ Roo.Markdown.toHtml = function(text) { * Inline Lexer & Compiler */ - function InlineLexer(links, options) { + var InlineLexer = function (links, options) { this.options = options || marked.defaults; this.links = links; this.rules = inline.normal; @@ -17553,7 +17632,11 @@ Roo.Markdown.toHtml = function(text) { * Renderer */ - function Renderer(options) { + /** + * eval:var:Renderer + */ + + var Renderer = function (options) { this.options = options || {}; } @@ -17702,8 +17785,11 @@ Roo.Markdown.toHtml = function(text) { /** * Parsing & Compiling */ + /** + * eval:var:Parser + */ - function Parser(options) { + var Parser= function (options) { this.tokens = []; this.token = null; this.options = options || marked.defaults; @@ -17878,72 +17964,15 @@ Roo.Markdown.toHtml = function(text) { } } }; - - /** - * Helpers - */ - - function escape(html, encode) { - return html - .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"') - .replace(/'/g, '''); - } - - function unescape(html) { - // explicitly match decimal, hex, and named HTML entities - return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) { - n = n.toLowerCase(); - if (n === 'colon') { return ':'; } - if (n.charAt(0) === '#') { - return n.charAt(1) === 'x' - ? String.fromCharCode(parseInt(n.substring(2), 16)) - : String.fromCharCode(+n.substring(1)); - } - return ''; - }); - } - - function replace(regex, opt) { - regex = regex.source; - opt = opt || ''; - return function self(name, val) { - if (!name) { return new RegExp(regex, opt); } - val = val.source || val; - val = val.replace(/(^|[^\[])\^/g, '$1'); - regex = regex.replace(name, val); - return self; - }; - } - - function noop() {} - noop.exec = noop; - - function merge(obj) { - var i = 1 - , target - , key; - - for (; i < arguments.length; i++) { - target = arguments[i]; - for (key in target) { - if (Object.prototype.hasOwnProperty.call(target, key)) { - obj[key] = target[key]; - } - } - } - - return obj; - } - + /** * Marked */ - - function marked(src, opt, callback) { + /** + * eval:var:marked + */ + var marked = function (src, opt, callback) { if (callback || typeof opt === 'function') { if (!callback) { callback = opt; @@ -17964,7 +17993,9 @@ Roo.Markdown.toHtml = function(text) { } pending = tokens.length; - + /** + * eval:var:done + */ var done = function(err) { if (err) { opt.highlight = highlight; @@ -21097,8 +21128,8 @@ Roo.dd.DDTarget = function(id, sGroup, config) { if (id) { this.initTarget(id, sGroup, config); } - if (config.listeners || config.events) { - Roo.dd.DragDrop.superclass.constructor.call(this, { + if (config && (config.listeners || config.events)) { + Roo.dd.DragDrop.superclass.constructor.call(this, { listeners : config.listeners || {}, events : config.events || {} }); diff --git a/roojs-core.js b/roojs-core.js index 26dd48afa9..3f7c56040d 100644 --- a/roojs-core.js +++ b/roojs-core.js @@ -212,11 +212,11 @@ return el.nextSibling;}throw 'Illegal insertion point -> "'+M+'"';},insertBefore el.appendChild(N);}else{var O=E(o);N=this.insertHtml("beforeEnd",el,O);}return M?Roo.get(N,true):N;},overwrite:function(el,o,M){el=Roo.getDom(el);if(o.ns){while(el.childNodes.length){el.removeChild(el.firstChild);}F(o,el);}else{el.innerHTML=E(o);}return M?Roo.get(el.firstChild,true):el.firstChild; },createTemplate:function(o){var M=E(o);return new Roo.Template(M);}};}(); // Roo/Template.js -Roo.Template=function(A){if(A instanceof Array){A=A.join("");}else if(arguments.length>1){A=Array.prototype.join.call(arguments,"");}if(typeof(A)=='object'){Roo.apply(this,A)}else{this.html=A;}if(this.url){this.load();}};Roo.Template.prototype={url:false,html:'',applyTemplate:function(A){try{if(this.compiled){return this.compiled(A); -}var B=this.disableFormats!==true;var fm=Roo.util.Format,C=this;var fn=function(m,D,E,F){if(E&&B){if(E.substr(0,5)=="this."){return C.call(E.substr(5),A[D],A);}else{if(F){var re=/^\s*['"](.*)["']\s*$/;F=F.split(',');for(var i=0,G=F.length;i1){A=Array.prototype.join.call(arguments,"");}if(typeof(A)=='object'){Roo.apply(this,A)}else{this.html=A;}if(this.url){this.load();}};Roo.Template.prototype={url:false,html:'',applyTemplate:function(A){Roo.log(["applyTemplate",A]); +try{if(this.compiled){return this.compiled(A);}var B=this.disableFormats!==true;var fm=Roo.util.Format,C=this;var fn=function(m,D,E,F){if(E&&B){if(E.substr(0,5)=="this."){return C.call(E.substr(5),A[D],A);}else{if(F){var re=/^\s*['"](.*)["']\s*$/;F=F.split(','); +for(var i=0,G=F.length;i0){this.firing=true;var F=Array.prototype.slice.call(arguments,0); -for(var i=0;i0){this.firing=true;for(var i=0;i[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/} -;A.bullet=/(?:[*+-]|\d+\.)/;A.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;A.item=replace(A.item,'gm')(/bull/g,A.bullet)();A.list=replace(A.list)(/bull/g,A.bullet)('hr','\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')('def','\\n+(?='+A.def.source+')')();A.blockquote=replace(A.blockquote)('def',A.def)(); -A._tag='(?!(?:'+'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'+'|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'+'|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';A.html=replace(A.html)('comment',//)('closed',/<(tag)[\s\S]+?<\/\1>/)('closing',/])*?>/)(/tag/g,A._tag)(); -A.paragraph=replace(A.paragraph)('hr',A.hr)('heading',A.heading)('lheading',A.lheading)('blockquote',A.blockquote)('tag','<'+A._tag)('def',A.def)();A.normal=merge({},A);A.gfm=merge({},A.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/} -);A.gfm.paragraph=replace(A.paragraph)('(?!','(?!'+A.gfm.fences.source.replace('\\1','\\2')+'|'+A.list.source.replace('\\1','\\3')+'|')();A.tables=merge({},A.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/} -);function Lexer(C){this.tokens=[];this.tokens.links={};this.options=C||marked.defaults;this.rules=A.normal;if(this.options.gfm){if(this.options.tables){this.rules=A.tables;}else{this.rules=A.gfm;}}}Lexer.rules=A;Lexer.lex=function(C,D){var E=new Lexer(D); -return E.lex(C);};Lexer.prototype.lex=function(C){C=C.replace(/\r\n|\r/g,'\n').replace(/\t/g,' ').replace(/\u00a0/g,' ').replace(/\u2424/g,'\n');return this.token(C,true);};Lexer.prototype.token=function(C,D,bq){var C=C.replace(/^ +$/gm,''),E,F,G,H,b,I,J,i,l; -while(C){if(G=this.rules.newline.exec(C)){C=C.substring(G[0].length);if(G[0].length>1){this.tokens.push({type:'space'});}}if(G=this.rules.code.exec(C)){C=C.substring(G[0].length);G=G[0].replace(/^ {4}/gm,'');this.tokens.push({type:'code',text:!this.options.pedantic?G.replace(/\n+$/,''):G} -);continue;}if(G=this.rules.fences.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'code',lang:G[2],text:G[3]||''});continue;}if(G=this.rules.heading.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:'heading',depth:G[1].length,text:G[2]} -);continue;}if(D&&(G=this.rules.nptable.exec(C))){C=C.substring(G[0].length);I={type:'table',header:G[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:G[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:G[3].replace(/\n$/,'').split('\n')};for(i=0;i ?/gm,'');this.token(G,D,true);this.tokens.push({type:'blockquote_end'});continue;}if(G=this.rules.list.exec(C)){C=C.substring(G[0].length); -H=G[2];this.tokens.push({type:'list_start',ordered:H.length>1});G=G[0].match(this.rules.item);E=false;l=G.length;i=0;for(;i1&&b.length>1)){C=G.slice(i+1).join('\n')+C;i=l-1;}}F=E||/\n\n(?!\s*$)/.test(I);if(i!==l-1){E=I.charAt(I.length-1)==='\n';if(!F){F=E;}}this.tokens.push({type:F?'loose_item_start':'list_item_start'} -);this.token(I,false,bq);this.tokens.push({type:'list_item_end'});}this.tokens.push({type:'list_end'});continue;}if(G=this.rules.html.exec(C)){C=C.substring(G[0].length);this.tokens.push({type:this.options.sanitize?'paragraph':'html',pre:!this.options.sanitizer&&(G[1]==='pre'||G[1]==='script'||G[1]==='style'),text:G[0]} -);continue;}if((!bq&&D)&&(G=this.rules.def.exec(C))){C=C.substring(G[0].length);this.tokens.links[G[1].toLowerCase()]={href:G[2],title:G[3]};continue;}if(D&&(G=this.rules.table.exec(C))){C=C.substring(G[0].length);I={type:'table',header:G[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:G[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:G[3].replace(/(?: *\| *)?\n$/,'').split('\n')} -;for(i=0;i])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/;B.link=replace(B.link)('inside',B._inside)('href',B._href)();B.reflink=replace(B.reflink)('inside',B._inside)();B.normal=merge({},B);B.pedantic=merge({} -,B.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});B.gfm=merge({},B.normal,{escape:replace(B.escape)('])','~|])')(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(B.text)(']|','~]|')('|','|https?://|')()} -);B.breaks=merge({},B.gfm,{br:replace(B.br)('{2,}','*')(),text:replace(B.gfm.text)('{2,}','*')()});function InlineLexer(C,D){this.options=D||marked.defaults;this.links=C;this.rules=B.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options; -if(!this.links){throw new Error('Tokens array requires a `links` property.');}if(this.options.gfm){if(this.options.breaks){this.rules=B.breaks;}else{this.rules=B.gfm;}}else if(this.options.pedantic){this.rules=B.pedantic;}}InlineLexer.rules=B;InlineLexer.output=function(C,D,E){var F=new InlineLexer(D,E); -return F.output(C);};InlineLexer.prototype.output=function(C){var D='',E,F,G,H;while(C){if(H=this.rules.escape.exec(C)){C=C.substring(H[0].length);D+=H[1];continue;}if(H=this.rules.autolink.exec(C)){C=C.substring(H[0].length);if(H[2]==='@'){F=H[1].charAt(6)===':'?this.mangle(H[1].substring(7)):this.mangle(H[1]); -G=this.mangle('mailto:')+F;}else{F=escape(H[1]);G=F;}D+=this.renderer.link(G,null,F);continue;}if(!this.inLink&&(H=this.rules.url.exec(C))){C=C.substring(H[0].length);F=escape(H[1]);G=F;D+=this.renderer.link(G,null,F);continue;}if(H=this.rules.tag.exec(C)){if(!this.inLink&&/^
    /i.test(H[0])){this.inLink=false;}C=C.substring(H[0].length);D+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(H[0]):escape(H[0]):H[0];continue;}if(H=this.rules.link.exec(C)){C=C.substring(H[0].length);this.inLink=true; -D+=this.outputLink(H,{href:H[2],title:H[3]});this.inLink=false;continue;}if((H=this.rules.reflink.exec(C))||(H=this.rules.nolink.exec(C))){C=C.substring(H[0].length);E=(H[2]||H[1]).replace(/\s+/g,' ');E=this.links[E.toLowerCase()];if(!E||!E.href){D+=H[0].charAt(0); -C=H[0].substring(1)+C;continue;}this.inLink=true;D+=this.outputLink(H,E);this.inLink=false;continue;}if(H=this.rules.strong.exec(C)){C=C.substring(H[0].length);D+=this.renderer.strong(this.output(H[2]||H[1]));continue;}if(H=this.rules.em.exec(C)){C=C.substring(H[0].length); -D+=this.renderer.em(this.output(H[2]||H[1]));continue;}if(H=this.rules.code.exec(C)){C=C.substring(H[0].length);D+=this.renderer.codespan(escape(H[2],true));continue;}if(H=this.rules.br.exec(C)){C=C.substring(H[0].length);D+=this.renderer.br();continue;}if(H=this.rules.del.exec(C)){C=C.substring(H[0].length); -D+=this.renderer.del(this.output(H[1]));continue;}if(H=this.rules.text.exec(C)){C=C.substring(H[0].length);D+=this.renderer.text(escape(this.smartypants(H[0])));continue;}if(C){throw new Error('Infinite loop on byte: '+C.charCodeAt(0));}}return D;};InlineLexer.prototype.outputLink=function(C,D){var E=escape(D.href),F=D.title?escape(D.title):null; -return C[0].charAt(0)!=='!'?this.renderer.link(E,F,this.output(C[1])):this.renderer.image(E,F,escape(C[1]));};InlineLexer.prototype.smartypants=function(C){if(!this.options.smartypants){return C;}return C.replace(/---/g,'\u2014').replace(/--/g,'\u2013').replace(/(^|[-\u2014/(\[{"\s])'/g,'$1\u2018').replace(/'/g,'\u2019').replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026'); -};InlineLexer.prototype.mangle=function(C){if(!this.options.mangle){return C;}var D='',l=C.length,i=0,ch;for(;i0.5){ch='x'+ch.toString(16);}D+='&#'+ch+';';}return D;};function Renderer(C){this.options=C||{};}Renderer.prototype.code=function(C,D,E){if(this.options.highlight){var F=this.options.highlight(C,D); -if(F!=null&&F!==C){E=true;C=F;}}else{E=true;}if(!D){return '
    '+(E?C:escape(C,true))+'\n
    ';}return '
    '+(E?C:escape(C,true))+'\n
    \n';};Renderer.prototype.blockquote=function(C){return '
    \n'+C+'
    \n'; -};Renderer.prototype.html=function(C){return C;};Renderer.prototype.heading=function(C,D,E){return ''+C+'\n';};Renderer.prototype.hr=function(){return this.options.xhtml?'
    \n':'
    \n'; -};Renderer.prototype.list=function(C,D){var E=D?'ol':'ul';return '<'+E+'>\n'+C+'\n';};Renderer.prototype.listitem=function(C){return '
  • '+C+'
  • \n';};Renderer.prototype.paragraph=function(C){return '

    '+C+'

    \n';};Renderer.prototype.table=function(C,D){return '\n'+'\n'+C+'\n'+'\n'+D+'\n'+'
    \n'; -};Renderer.prototype.tablerow=function(C){return '\n'+C+'\n';};Renderer.prototype.tablecell=function(C,D){var E=D.header?'th':'td';var F=D.align?'<'+E+' style="text-align:'+D.align+'">':'<'+E+'>';return F+C+'\n';};Renderer.prototype.strong=function(C){return ''+C+''; -};Renderer.prototype.em=function(C){return ''+C+'';};Renderer.prototype.codespan=function(C){return ''+C+'';};Renderer.prototype.br=function(){return this.options.xhtml?'
    ':'
    ';};Renderer.prototype.del=function(C){return ''+C+''; -};Renderer.prototype.link=function(C,D,E){if(this.options.sanitize){try{var F=decodeURIComponent(unescape(C)).replace(/[^\w:]/g,'').toLowerCase();}catch(e){return '';}if(F.indexOf('javascript:')===0||F.indexOf('vbscript:')===0){return '';}}var G='
    ';return G;};Renderer.prototype.image=function(C,D,E){var F=''+E+'':'>';return F;};Renderer.prototype.text=function(C){return C;};function Parser(C){this.tokens=[]; -this.token=null;this.options=C||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options;}Parser.parse=function(C,D,E){var F=new Parser(D,E);return F.parse(C);};Parser.prototype.parse=function(C){this.inline=new InlineLexer(C.links,this.options,this.renderer); -this.tokens=C.reverse();var D='';while(this.next()){D+=this.tok();}return D;};Parser.prototype.next=function(){return this.token=this.tokens.pop();};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0;};Parser.prototype.parseText=function(){var C=this.token.text; -while(this.peek().type==='text'){C+='\n'+this.next().text;}return this.inline.output(C);};Parser.prototype.tok=function(){switch(this.token.type){case 'space':{return '';}case 'hr':{return this.renderer.hr();}case 'heading':{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text); -}case 'code':{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);}case 'table':{var C='',D='',i,E,F,G,j;F='';for(i=0;i/g,'>').replace(/"/g,'"').replace(/'/g,''');}function unescape(C){return C.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(_,n){n=n.toLowerCase(); -if(n==='colon'){return ':';}if(n.charAt(0)==='#'){return n.charAt(1)==='x'?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1));}return '';});}function replace(C,D){C=C.source;D=D||'';return function E(F,G){if(!F){return new RegExp(C,D); -}G=G.source||G;G=G.replace(/(^|[^\[])\^/g,'$1');C=C.replace(F,G);return E;};}function noop(){}noop.exec=noop;function merge(C){var i=1,D,E;for(;iAn error occured:

    '+escape(e.message+'',true)+'
    '; -}throw e;}}marked.options=marked.setOptions=function(C){merge(marked.defaults,C);return marked;};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:'lang-',smartypants:false,headerPrefix:'',renderer:new Renderer,xhtml:false} -;marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;Roo.Markdown.marked=marked;})(); +return Roo.Markdown.marked(A);};(function(){var A=function(I,J){return I.replace(!J?/&(?!#?\w+;)/g:/&/g,'&').replace(//g,'>').replace(/"/g,'"').replace(/'/g,''');};var unescape=function(I){return I.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g,function(_,n){n=n.toLowerCase(); +if(n==='colon'){return ':';}if(n.charAt(0)==='#'){return n.charAt(1)==='x'?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1));}return '';});};var replace=function(I,J){I=I.source;J=J||'';return function K(L,M){if(!L){return new RegExp(I,J); +}M=M.source||M;M=M.replace(/(^|[^\[])\^/g,'$1');I=I.replace(L,M);return K;};};var noop=function(){};noop.exec=noop;var B=function(I){var i=1,J,K;for(;i[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/} +;block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,'gm')(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)('hr','\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')('def','\\n+(?='+block.def.source+')')(); +block.blockquote=replace(block.blockquote)('def',block.def)();block._tag='(?!(?:'+'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'+'|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'+'|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';block.html=replace(block.html)('comment',//)('closed',/<(tag)[\s\S]+?<\/\1>/)('closing',/])*?>/)(/tag/g,block._tag)(); +block.paragraph=replace(block.paragraph)('hr',block.hr)('heading',block.heading)('lheading',block.lheading)('blockquote',block.blockquote)('tag','<'+block._tag)('def',block.def)();block.normal=B({},block);block.gfm=B({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/} +);block.gfm.paragraph=replace(block.paragraph)('(?!','(?!'+block.gfm.fences.source.replace('\\1','\\2')+'|'+block.list.source.replace('\\1','\\3')+'|')();block.tables=B({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/} +);var C=function(I){this.tokens=[];this.tokens.links={};this.options=I||H.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables;}else{this.rules=block.gfm;}}};C.rules=block;C.lex=function(I,J){var K=new C(J); +return K.lex(I);};C.prototype.lex=function(I){I=I.replace(/\r\n|\r/g,'\n').replace(/\t/g,' ').replace(/\u00a0/g,' ').replace(/\u2424/g,'\n');return this.token(I,true);};C.prototype.token=function(I,J,bq){var I=I.replace(/^ +$/gm,''),K,L,M,N,b,O,P,i,l;while(I){if(M=this.rules.newline.exec(I)){I=I.substring(M[0].length); +if(M[0].length>1){this.tokens.push({type:'space'});}}if(M=this.rules.code.exec(I)){I=I.substring(M[0].length);M=M[0].replace(/^ {4}/gm,'');this.tokens.push({type:'code',text:!this.options.pedantic?M.replace(/\n+$/,''):M});continue;}if(M=this.rules.fences.exec(I)){I=I.substring(M[0].length); +this.tokens.push({type:'code',lang:M[2],text:M[3]||''});continue;}if(M=this.rules.heading.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:'heading',depth:M[1].length,text:M[2]});continue;}if(J&&(M=this.rules.nptable.exec(I))){I=I.substring(M[0].length); +O={type:'table',header:M[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:M[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:M[3].replace(/\n$/,'').split('\n')};for(i=0;i ?/gm,'');this.token(M,J,true); +this.tokens.push({type:'blockquote_end'});continue;}if(M=this.rules.list.exec(I)){I=I.substring(M[0].length);N=M[2];this.tokens.push({type:'list_start',ordered:N.length>1});M=M[0].match(this.rules.item);K=false;l=M.length;i=0;for(;i1&&b.length>1)){I=M.slice(i+1).join('\n')+I; +i=l-1;}}L=K||/\n\n(?!\s*$)/.test(O);if(i!==l-1){K=O.charAt(O.length-1)==='\n';if(!L){L=K;}}this.tokens.push({type:L?'loose_item_start':'list_item_start'});this.token(O,false,bq);this.tokens.push({type:'list_item_end'});}this.tokens.push({type:'list_end'}); +continue;}if(M=this.rules.html.exec(I)){I=I.substring(M[0].length);this.tokens.push({type:this.options.sanitize?'paragraph':'html',pre:!this.options.sanitizer&&(M[1]==='pre'||M[1]==='script'||M[1]==='style'),text:M[0]});continue;}if((!bq&&J)&&(M=this.rules.def.exec(I))){I=I.substring(M[0].length); +this.tokens.links[M[1].toLowerCase()]={href:M[2],title:M[3]};continue;}if(J&&(M=this.rules.table.exec(I))){I=I.substring(M[0].length);O={type:'table',header:M[1].replace(/^ *| *\| *$/g,'').split(/ *\| */),align:M[2].replace(/^ *|\| *$/g,'').split(/ *\| */),cells:M[3].replace(/(?: *\| *)?\n$/,'').split('\n')} +;for(i=0;i])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/;D.link=replace(D.link)('inside',D._inside)('href',D._href)();D.reflink=replace(D.reflink)('inside',D._inside)();D.normal=B({},D);D.pedantic=B({},D.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/} +);D.gfm=B({},D.normal,{escape:replace(D.escape)('])','~|])')(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(D.text)(']|','~]|')('|','|https?://|')()});D.breaks=B({},D.gfm,{br:replace(D.br)('{2,}','*')(),text:replace(D.gfm.text)('{2,}','*')()} +);var E=function(I,J){this.options=J||H.defaults;this.links=I;this.rules=D.normal;this.renderer=this.options.renderer||new F;this.renderer.options=this.options;if(!this.links){throw new Error('Tokens array requires a `links` property.');}if(this.options.gfm){if(this.options.breaks){this.rules=D.breaks; +}else{this.rules=D.gfm;}}else if(this.options.pedantic){this.rules=D.pedantic;}};E.rules=D;E.output=function(I,J,K){var L=new E(J,K);return L.output(I);};E.prototype.output=function(I){var J='',K,L,M,N;while(I){if(N=this.rules.escape.exec(I)){I=I.substring(N[0].length); +J+=N[1];continue;}if(N=this.rules.autolink.exec(I)){I=I.substring(N[0].length);if(N[2]==='@'){L=N[1].charAt(6)===':'?this.mangle(N[1].substring(7)):this.mangle(N[1]);M=this.mangle('mailto:')+L;}else{L=A(N[1]);M=L;}J+=this.renderer.link(M,null,L);continue; +}if(!this.inLink&&(N=this.rules.url.exec(I))){I=I.substring(N[0].length);L=A(N[1]);M=L;J+=this.renderer.link(M,null,L);continue;}if(N=this.rules.tag.exec(I)){if(!this.inLink&&/^
    /i.test(N[0])){this.inLink=false; +}I=I.substring(N[0].length);J+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(N[0]):A(N[0]):N[0];continue;}if(N=this.rules.link.exec(I)){I=I.substring(N[0].length);this.inLink=true;J+=this.outputLink(N,{href:N[2],title:N[3]});this.inLink=false; +continue;}if((N=this.rules.reflink.exec(I))||(N=this.rules.nolink.exec(I))){I=I.substring(N[0].length);K=(N[2]||N[1]).replace(/\s+/g,' ');K=this.links[K.toLowerCase()];if(!K||!K.href){J+=N[0].charAt(0);I=N[0].substring(1)+I;continue;}this.inLink=true;J+=this.outputLink(N,K); +this.inLink=false;continue;}if(N=this.rules.strong.exec(I)){I=I.substring(N[0].length);J+=this.renderer.strong(this.output(N[2]||N[1]));continue;}if(N=this.rules.em.exec(I)){I=I.substring(N[0].length);J+=this.renderer.em(this.output(N[2]||N[1]));continue; +}if(N=this.rules.code.exec(I)){I=I.substring(N[0].length);J+=this.renderer.codespan(A(N[2],true));continue;}if(N=this.rules.br.exec(I)){I=I.substring(N[0].length);J+=this.renderer.br();continue;}if(N=this.rules.del.exec(I)){I=I.substring(N[0].length);J+=this.renderer.del(this.output(N[1])); +continue;}if(N=this.rules.text.exec(I)){I=I.substring(N[0].length);J+=this.renderer.text(A(this.smartypants(N[0])));continue;}if(I){throw new Error('Infinite loop on byte: '+I.charCodeAt(0));}}return J;};E.prototype.outputLink=function(I,J){var K=A(J.href),L=J.title?A(J.title):null; +return I[0].charAt(0)!=='!'?this.renderer.link(K,L,this.output(I[1])):this.renderer.image(K,L,A(I[1]));};E.prototype.smartypants=function(I){if(!this.options.smartypants){return I;}return I.replace(/---/g,'\u2014').replace(/--/g,'\u2013').replace(/(^|[-\u2014/(\[{"\s])'/g,'$1\u2018').replace(/'/g,'\u2019').replace(/(^|[-\u2014/(\[{\u2018\s])"/g,'$1\u201c').replace(/"/g,'\u201d').replace(/\.{3}/g,'\u2026'); +};E.prototype.mangle=function(I){if(!this.options.mangle){return I;}var J='',l=I.length,i=0,ch;for(;i0.5){ch='x'+ch.toString(16);}J+='&#'+ch+';';}return J;};var F=function(I){this.options=I||{};};F.prototype.code=function(I,J,K){if(this.options.highlight){var L=this.options.highlight(I,J); +if(L!=null&&L!==I){K=true;I=L;}}else{K=true;}if(!J){return '
    '+(K?I:A(I,true))+'\n
    ';}return '
    '+(K?I:A(I,true))+'\n
    \n';};F.prototype.blockquote=function(I){return '
    \n'+I+'
    \n'; +};F.prototype.html=function(I){return I;};F.prototype.heading=function(I,J,K){return ''+I+'\n';};F.prototype.hr=function(){return this.options.xhtml?'
    \n':'
    \n'; +};F.prototype.list=function(I,J){var K=J?'ol':'ul';return '<'+K+'>\n'+I+'\n';};F.prototype.listitem=function(I){return '
  • '+I+'
  • \n';};F.prototype.paragraph=function(I){return '

    '+I+'

    \n';};F.prototype.table=function(I,J){return '\n'+'\n'+I+'\n'+'\n'+J+'\n'+'
    \n'; +};F.prototype.tablerow=function(I){return '\n'+I+'\n';};F.prototype.tablecell=function(I,J){var K=J.header?'th':'td';var L=J.align?'<'+K+' style="text-align:'+J.align+'">':'<'+K+'>';return L+I+'\n';};F.prototype.strong=function(I){return ''+I+''; +};F.prototype.em=function(I){return ''+I+'';};F.prototype.codespan=function(I){return ''+I+'';};F.prototype.br=function(){return this.options.xhtml?'
    ':'
    ';};F.prototype.del=function(I){return ''+I+'';};F.prototype.link=function(I,J,K){if(this.options.sanitize){try{var L=decodeURIComponent(unescape(I)).replace(/[^\w:]/g,'').toLowerCase(); +}catch(e){return '';}if(L.indexOf('javascript:')===0||L.indexOf('vbscript:')===0){return '';}}var M='
    ';return M;};F.prototype.image=function(I,J,K){var L=''+K+'':'>';return L;};F.prototype.text=function(I){return I;};var G=function(I){this.tokens=[];this.token=null;this.options=I||H.defaults;this.options.renderer=this.options.renderer||new F;this.renderer=this.options.renderer;this.renderer.options=this.options; +};G.parse=function(I,J,K){var L=new G(J,K);return L.parse(I);};G.prototype.parse=function(I){this.inline=new E(I.links,this.options,this.renderer);this.tokens=I.reverse();var J='';while(this.next()){J+=this.tok();}return J;};G.prototype.next=function(){return this.token=this.tokens.pop(); +};G.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0;};G.prototype.parseText=function(){var I=this.token.text;while(this.peek().type==='text'){I+='\n'+this.next().text;}return this.inline.output(I);};G.prototype.tok=function(){switch(this.token.type){case 'space':{return ''; +}case 'hr':{return this.renderer.hr();}case 'heading':{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);}case 'code':{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);}case 'table':{var I='',J='',i,K,L,M,j; +L='';for(i=0;iAn error occured:

    '+A(e.message+'',true)+'
    ';}throw e;}};H.options=H.setOptions=function(I){B(H.defaults,I); +return H;};H.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:'lang-',smartypants:false,headerPrefix:'',renderer:new F,xhtml:false};H.Parser=G;H.parser=G.parse; +H.Renderer=F;H.Lexer=C;H.lexer=C.lex;H.InlineLexer=E;H.inlineLexer=E.output;H.parse=H;Roo.Markdown.marked=H;})(); // Roo/dd/DragDrop.js (function(){var A=Roo.EventManager;var B=Roo.lib.Dom;Roo.dd.DragDrop=function(id,C,D){if(id){this.init(id,C,D);}};Roo.extend(Roo.dd.DragDrop,Roo.util.Observable,{id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true; },unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(x,y){} @@ -816,7 +816,7 @@ Roo.fly(this.getDragEl()).setSize(el.offsetWidth,el.offsetHeight);}},b4MouseDown },endDrag:function(e){var A=this.getEl();var B=this.getDragEl();B.style.visibility="";this.beforeMove();A.style.visibility="hidden";Roo.dd.DDM.moveToEl(A,B);B.style.visibility="hidden";A.style.visibility="";this.afterDrag();},beforeMove:function(){},afterDrag:function(){} ,toString:function(){return ("DDProxy "+this.id);}}); // Roo/dd/DDTarget.js -Roo.dd.DDTarget=function(id,A,B){if(id){this.initTarget(id,A,B);}if(B.listeners||B.events){Roo.dd.DragDrop.superclass.constructor.call(this,{listeners:B.listeners||{},events:B.events||{}});}};Roo.extend(Roo.dd.DDTarget,Roo.dd.DragDrop,{toString:function(){return ("DDTarget "+this.id); +Roo.dd.DDTarget=function(id,A,B){if(id){this.initTarget(id,A,B);}if(B&&(B.listeners||B.events)){Roo.dd.DragDrop.superclass.constructor.call(this,{listeners:B.listeners||{},events:B.events||{}});}};Roo.extend(Roo.dd.DDTarget,Roo.dd.DragDrop,{toString:function(){return ("DDTarget "+this.id); }}); // Roo/dd/ScrollManager.js Roo.dd.ScrollManager=function(){var A=Roo.dd.DragDropMgr;var B={};var C=null;var D={};var E=function(e){C=null;H();};var F=function(){if(A.dragCurrent){A.refreshCache(A.dragCurrent.groups);}};var G=function(){if(A.dragCurrent){var K=Roo.dd.ScrollManager;if(!K.animate){if(D.el.scroll(D.dir,K.increment)){F(); diff --git a/roojs-debug.js b/roojs-debug.js index 92d9e7691d..c7270b5dd9 100644 --- a/roojs-debug.js +++ b/roojs-debug.js @@ -4667,6 +4667,7 @@ Roo.Template.prototype = { * @return {String} The HTML fragment */ applyTemplate : function(values){ + Roo.log(["applyTemplate", values]); try { if(this.compiled){ @@ -6073,10 +6074,12 @@ Roo.util.Observable.releaseCapture = function(o){ var ls = this.listeners, scope, len = ls.length; if(len > 0){ this.firing = true; - var args = Array.prototype.slice.call(arguments, 0); + for(var i = 0; i < len; i++){ - var l = ls[i]; - if(l.fireFn.apply(l.scope||this.obj||window, arguments) === false){ + var args = Array.prototype.slice.call(arguments, 0); + var l = ls[i]; + args.push(l.options); + if(l.fireFn.apply(l.scope||this.obj||window, args) === false){ this.firing = false; return false; } @@ -16802,10 +16805,86 @@ Roo.Markdown.toHtml = function(text) { // (function() { + /** + * eval:var:escape + * eval:var:unescape + * eval:var:replace + */ + + /** + * Helpers + */ + + var escape = function (html, encode) { + return html + .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); + } + + var unescape = function (html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) { + n = n.toLowerCase(); + if (n === 'colon') { return ':'; } + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); + } + + var replace = function (regex, opt) { + regex = regex.source; + opt = opt || ''; + return function self(name, val) { + if (!name) { return new RegExp(regex, opt); } + val = val.source || val; + val = val.replace(/(^|[^\[])\^/g, '$1'); + regex = regex.replace(name, val); + return self; + }; + } + + + /** + * eval:var:noop + */ + var noop = function () {} + noop.exec = noop; + + /** + * eval:var:merge + */ + var merge = function (obj) { + var i = 1 + , target + , key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; + } + + /** * Block-Level Grammar */ + + + var block = { newline: /^\n+/, code: /^( {4}[^\n]+\n*)+/, @@ -16895,7 +16974,7 @@ Roo.Markdown.toHtml = function(text) { * Block Lexer */ - function Lexer(options) { + var Lexer = function (options) { this.tokens = []; this.tokens.links = {}; this.options = options || marked.defaults; @@ -17313,7 +17392,7 @@ Roo.Markdown.toHtml = function(text) { * Inline Lexer & Compiler */ - function InlineLexer(links, options) { + var InlineLexer = function (links, options) { this.options = options || marked.defaults; this.links = links; this.rules = inline.normal; @@ -17553,7 +17632,11 @@ Roo.Markdown.toHtml = function(text) { * Renderer */ - function Renderer(options) { + /** + * eval:var:Renderer + */ + + var Renderer = function (options) { this.options = options || {}; } @@ -17702,8 +17785,11 @@ Roo.Markdown.toHtml = function(text) { /** * Parsing & Compiling */ + /** + * eval:var:Parser + */ - function Parser(options) { + var Parser= function (options) { this.tokens = []; this.token = null; this.options = options || marked.defaults; @@ -17878,72 +17964,15 @@ Roo.Markdown.toHtml = function(text) { } } }; - - /** - * Helpers - */ - - function escape(html, encode) { - return html - .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"') - .replace(/'/g, '''); - } - - function unescape(html) { - // explicitly match decimal, hex, and named HTML entities - return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(_, n) { - n = n.toLowerCase(); - if (n === 'colon') { return ':'; } - if (n.charAt(0) === '#') { - return n.charAt(1) === 'x' - ? String.fromCharCode(parseInt(n.substring(2), 16)) - : String.fromCharCode(+n.substring(1)); - } - return ''; - }); - } - - function replace(regex, opt) { - regex = regex.source; - opt = opt || ''; - return function self(name, val) { - if (!name) { return new RegExp(regex, opt); } - val = val.source || val; - val = val.replace(/(^|[^\[])\^/g, '$1'); - regex = regex.replace(name, val); - return self; - }; - } - - function noop() {} - noop.exec = noop; - - function merge(obj) { - var i = 1 - , target - , key; - - for (; i < arguments.length; i++) { - target = arguments[i]; - for (key in target) { - if (Object.prototype.hasOwnProperty.call(target, key)) { - obj[key] = target[key]; - } - } - } - - return obj; - } - + /** * Marked */ - - function marked(src, opt, callback) { + /** + * eval:var:marked + */ + var marked = function (src, opt, callback) { if (callback || typeof opt === 'function') { if (!callback) { callback = opt; @@ -17964,7 +17993,9 @@ Roo.Markdown.toHtml = function(text) { } pending = tokens.length; - + /** + * eval:var:done + */ var done = function(err) { if (err) { opt.highlight = highlight; @@ -21097,8 +21128,8 @@ Roo.dd.DDTarget = function(id, sGroup, config) { if (id) { this.initTarget(id, sGroup, config); } - if (config.listeners || config.events) { - Roo.dd.DragDrop.superclass.constructor.call(this, { + if (config && (config.listeners || config.events)) { + Roo.dd.DragDrop.superclass.constructor.call(this, { listeners : config.listeners || {}, events : config.events || {} }); @@ -23237,6 +23268,16 @@ Roo.extend(Roo.data.Store, Roo.util.Observable, { var r = this.reader.readRecords(o); this.loadRecords(r, {add: append}, true); }, + + /** + * using 'cn' the nested child reader read the child array into it's child stores. + * @param {Object} rec The record with a 'children array + */ + loadDataFromChildren : function(rec) + { + this.loadData(this.reader.toLoadData(rec)); + }, + /** * Gets the number of cached records. @@ -23541,14 +23582,16 @@ Roo.extend(Roo.data.Store, Roo.util.Observable, { * Small helper class to make creating Stores from Array data easier. * @cfg {Number} id The array index of the record id. Leave blank to auto generate ids. * @cfg {Array} fields An array of field definition objects, or field name strings. + * @cfg {Object} an existing reader (eg. copied from another store) * @cfg {Array} data The multi-dimensional array of data * @constructor * @param {Object} config */ -Roo.data.SimpleStore = function(config){ +Roo.data.SimpleStore = function(config) +{ Roo.data.SimpleStore.superclass.constructor.call(this, { isLocal : true, - reader: new Roo.data.ArrayReader({ + reader: typeof(config.reader) != 'undefined' ? config.reader : new Roo.data.ArrayReader({ id: config.id }, Roo.data.Record.create(config.fields) @@ -23725,6 +23768,9 @@ Roo.data.DataReader = function(meta, recordType){ }; Roo.data.DataReader.prototype = { + + + readerType : 'Data', /** * Create an empty record * @param {Object} data (optional) - overlay some values @@ -23745,6 +23791,7 @@ Roo.data.DataReader.prototype = { return new this.recordType(Roo.apply(da, d)); } + };/* * Based on: * Ext JS Library 1.1.1 @@ -24283,6 +24330,8 @@ Roo.data.JsonReader = function(meta, recordType){ }; Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, { + readerType : 'Json', + /** * @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source. * Used by Store query builder to append _requestMeta to params. @@ -24424,6 +24473,14 @@ Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, { records : records, totalRecords : totalRecords }; + }, + // used when loading children.. @see loadDataFromChildren + toLoadData: function(rec) + { + // expect rec just to be an array.. eg [a,b,c, [...] << cn ] + var data = typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn; + return { data : data, total : data.length }; + } });/* * Based on: @@ -24494,6 +24551,9 @@ Roo.data.XmlReader = function(meta, recordType){ Roo.data.XmlReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.XmlReader, Roo.data.DataReader, { + + readerType : 'Xml', + /** * This method is only used by a DataProxy which has retrieved data from a remote server. * @param {Object} response The XHR object which contains the parsed XML document. The response is expected @@ -24605,44 +24665,54 @@ var myReader = new Roo.data.ArrayReader({ * * created using {@link Roo.data.Record#create}. */ -Roo.data.ArrayReader = function(meta, recordType){ - - +Roo.data.ArrayReader = function(meta, recordType) +{ Roo.data.ArrayReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.ArrayReader, Roo.data.JsonReader, { - /** + + /** * Create a data block containing Roo.data.Records from an XML document. * @param {Object} o An Array of row objects which represents the dataset. * @return {Object} A data block which is used by an {@link Roo.data.Store} object as * a cache of Roo.data.Records. */ - readRecords : function(o){ + readRecords : function(o) + { var sid = this.meta ? this.meta.id : null; var recordType = this.recordType, fields = recordType.prototype.fields; var records = []; var root = o; - for(var i = 0; i < root.length; i++){ - var n = root[i]; - var values = {}; - var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null); - for(var j = 0, jlen = fields.length; j < jlen; j++){ - var f = fields.items[j]; - var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j; - var v = n[k] !== undefined ? n[k] : f.defaultValue; - v = f.convert(v); - values[f.name] = v; - } - var record = new recordType(values, id); - record.json = n; - records[records.length] = record; + for(var i = 0; i < root.length; i++){ + var n = root[i]; + var values = {}; + var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null); + for(var j = 0, jlen = fields.length; j < jlen; j++){ + var f = fields.items[j]; + var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j; + var v = n[k] !== undefined ? n[k] : f.defaultValue; + v = f.convert(v); + values[f.name] = v; } - return { - records : records, - totalRecords : records.length - }; + var record = new recordType(values, id); + record.json = n; + records[records.length] = record; + } + return { + records : records, + totalRecords : records.length + }; + }, + // used when loading children.. @see loadDataFromChildren + toLoadData: function(rec) + { + // expect rec just to be an array.. eg [a,b,c, [...] << cn ] + return typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn; + } + + });/* * Based on: * Ext JS Library 1.1.1 @@ -41367,9 +41437,11 @@ Roo.extend(Roo.form.ComboBox, Roo.form.TriggerField, { // element that contains real text value.. (when hidden is used..) // private - onRender : function(ct, position){ + onRender : function(ct, position) + { Roo.form.ComboBox.superclass.onRender.call(this, ct, position); - if(this.hiddenName){ + + if(this.hiddenName){ this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)}, 'before', true); this.hiddenField.value = @@ -41381,6 +41453,7 @@ Roo.extend(Roo.form.ComboBox, Roo.form.TriggerField, { } + if(Roo.isGecko){ this.el.dom.setAttribute('autocomplete', 'off'); } @@ -41441,7 +41514,9 @@ Roo.extend(Roo.form.ComboBox, Roo.form.TriggerField, { } this.view = new Roo.View(this.innerList, this.tpl, { - singleSelect:true, store: this.store, selectedClass: this.selectedClass + singleSelect:true, + store: this.store, + selectedClass: this.selectedClass }); this.view.on('click', this.onViewClick, this); @@ -42627,6 +42702,434 @@ Roo.extend(Roo.form.ComboBoxArray.Item, Roo.BoxComponent, { } } +});/* + * RooJS Library 1.1.1 + * Copyright(c) 2008-2011 Alan Knowles + * + * License - LGPL + */ + + +/** + * @class Roo.form.ComboNested + * @extends Roo.form.ComboBox + * A combobox for that allows selection of nested items in a list, + * eg. + * + * Book + * -> red + * -> green + * Table + * -> square + * ->red + * ->green + * -> rectangle + * ->green + * + * + * @constructor + * Create a new ComboNested + * @param {Object} config Configuration options + */ +Roo.form.ComboNested = function(config){ + Roo.form.ComboCheck.superclass.constructor.call(this, config); + // should verify some data... + // like + // hiddenName = required.. + // displayField = required + // valudField == required + var req= [ 'hiddenName', 'displayField', 'valueField' ]; + var _t = this; + Roo.each(req, function(e) { + if ((typeof(_t[e]) == 'undefined' ) || !_t[e].length) { + throw "Roo.form.ComboNested : missing value for: " + e; + } + }); + + +}; + +Roo.extend(Roo.form.ComboNested, Roo.form.ComboBox, { + + /* + * @config {Number} max Number of columns to show + */ + + maxColumns : 3, + + list : null, // the outermost div.. + innerLists : null, // the + views : null, + stores : null, + // private + loadingChildren : false, + + onRender : function(ct, position) + { + Roo.form.ComboBox.superclass.onRender.call(this, ct, position); // skip parent call - got to above.. + + if(this.hiddenName){ + this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)}, + 'before', true); + this.hiddenField.value = + this.hiddenValue !== undefined ? this.hiddenValue : + this.value !== undefined ? this.value : ''; + + // prevent input submission + this.el.dom.removeAttribute('name'); + + + } + + if(Roo.isGecko){ + this.el.dom.setAttribute('autocomplete', 'off'); + } + + var cls = 'x-combo-list'; + + this.list = new Roo.Layer({ + shadow: this.shadow, cls: [cls, this.listClass].join(' '), constrain:false + }); + + var lw = this.listWidth || Math.max(this.wrap.getWidth(), this.minListWidth); + this.list.setWidth(lw); + this.list.swallowEvent('mousewheel'); + this.assetHeight = 0; + + if(this.title){ + this.header = this.list.createChild({cls:cls+'-hd', html: this.title}); + this.assetHeight += this.header.getHeight(); + } + this.innerLists = []; + this.views = []; + this.stores = []; + for (var i =0 ; i < this.maxColumns; i++) { + this.onRenderList( cls, i); + } + + // always needs footer, as we are going to have an 'OK' button. + this.footer = this.list.createChild({cls:cls+'-ft'}); + this.pageTb = new Roo.Toolbar(this.footer); + var _this = this; + this.pageTb.add( { + + text: 'Done', + handler: function() + { + _this.collapse(); + } + }); + + if ( this.allowBlank && !this.disableClear) { + + this.pageTb.add(new Roo.Toolbar.Fill(), { + cls: 'x-btn-icon x-btn-clear', + text: ' ', + handler: function() + { + _this.collapse(); + _this.clearValue(); + _this.onSelect(false, -1); + } + }); + } + if (this.footer) { + this.assetHeight += this.footer.getHeight(); + } + + }, + onRenderList : function ( cls, i) + { + + var lw = Math.floor( + ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns + ); + + this.list.setWidth(lw); // default to '1' + + var il = this.innerLists[i] = this.list.createChild({cls:cls+'-inner'}); + //il.on('mouseover', this.onViewOver, this, { list: i }); + //il.on('mousemove', this.onViewMove, this, { list: i }); + il.setWidth(lw); + il.setStyle({ 'overflow-x' : 'hidden'}); + + if(!this.tpl){ + this.tpl = new Roo.Template({ + html : '
    {' + this.displayField + '}
    ', + isEmpty: function (value, allValues) { + //Roo.log(value); + var dl = typeof(value.data) != 'undefined' ? value.data.length : value.length; ///json is a nested response.. + return dl ? 'has-children' : 'no-children' + } + }); + } + + var store = this.store; + if (i > 0) { + store = new Roo.data.SimpleStore({ + //fields : this.store.reader.meta.fields, + reader : this.store.reader, + data : [ ] + }); + } + this.stores[i] = store; + + var view = this.views[i] = new Roo.View( + il, + this.tpl, + { + singleSelect:true, + store: store, + selectedClass: this.selectedClass + } + ); + view.getEl().setWidth(lw); + view.getEl().setStyle({ + position: i < 1 ? 'relative' : 'absolute', + top: 0, + left: (i * lw ) + 'px', + display : i > 0 ? 'none' : 'block' + }); + view.on('selectionchange', this.onSelectChange, this, {list : i }); + view.on('dblclick', this.onDoubleClick, this, {list : i }); + //view.on('click', this.onViewClick, this, { list : i }); + + store.on('beforeload', this.onBeforeLoad, this); + store.on('load', this.onLoad, this, { list : i}); + store.on('loadexception', this.onLoadException, this); + + // hide the other vies.. + + + + }, + + restrictHeight : function() + { + var mh = 0; + Roo.each(this.innerLists, function(il,i) { + var el = this.views[i].getEl(); + el.dom.style.height = ''; + var inner = el.dom; + var h = Math.max(il.clientHeight, il.offsetHeight, il.scrollHeight); + // only adjust heights on other ones.. + mh = Math.max(h, mh); + if (i < 1) { + + el.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight); + il.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight); + + } + + + }, this); + + this.list.beginUpdate(); + this.list.setHeight(mh+this.list.getFrameWidth('tb')+this.assetHeight); + this.list.alignTo(this.el, this.listAlign); + this.list.endUpdate(); + + }, + + + // -- store handlers.. + // private + onBeforeLoad : function() + { + if(!this.hasFocus){ + return; + } + this.innerLists[0].update(this.loadingText ? + '
    '+this.loadingText+'
    ' : ''); + this.restrictHeight(); + this.selectedIndex = -1; + }, + // private + onLoad : function(a,b,c,d) + { + if (!this.loadingChildren) { + // then we are loading the top level. - hide the children + for (var i = 1;i < this.views.length; i++) { + this.views[i].getEl().setStyle({ display : 'none' }); + } + var lw = Math.floor( + ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns + ); + + this.list.setWidth(lw); // default to '1' + + + } + if(!this.hasFocus){ + return; + } + + if(this.store.getCount() > 0) { + this.expand(); + this.restrictHeight(); + } else { + this.onEmptyResults(); + } + + if (!this.loadingChildren) { + this.selectActive(); + } + /* + this.stores[1].loadData([]); + this.stores[2].loadData([]); + this.views + */ + + //this.el.focus(); + }, + + + // private + onLoadException : function() + { + this.collapse(); + Roo.log(this.store.reader.jsonData); + if (this.store && typeof(this.store.reader.jsonData.errorMsg) != 'undefined') { + Roo.MessageBox.alert("Error loading",this.store.reader.jsonData.errorMsg); + } + + + }, + // no cleaning of leading spaces on blur here. + cleanLeadingSpace : function(e) { }, + + + onSelectChange : function (view, sels, opts ) + { + var ix = view.getSelectedIndexes(); + + if (opts.list > this.maxColumns - 2) { + if (view.store.getCount()< 1) { + this.views[opts.list ].getEl().setStyle({ display : 'none' }); + + } else { + if (ix.length) { + // used to clear ?? but if we are loading unselected + this.setFromData(view.store.getAt(ix[0]).data); + } + + } + + return; + } + + if (!ix.length) { + // this get's fired when trigger opens.. + // this.setFromData({}); + var str = this.stores[opts.list+1]; + str.data.clear(); // removeall wihtout the fire events.. + return; + } + + var rec = view.store.getAt(ix[0]); + + this.setFromData(rec.data); + this.fireEvent('select', this, rec, ix[0]); + + var lw = Math.floor( + ( + (this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr') + ) / this.maxColumns + ); + this.loadingChildren = true; + this.stores[opts.list+1].loadDataFromChildren( rec ); + this.loadingChildren = false; + var dl = this.stores[opts.list+1]. getTotalCount(); + + this.views[opts.list+1].getEl().setHeight( this.innerLists[0].getHeight()); + + this.views[opts.list+1].getEl().setStyle({ display : dl ? 'block' : 'none' }); + for (var i = opts.list+2; i < this.views.length;i++) { + this.views[i].getEl().setStyle({ display : 'none' }); + } + + this.innerLists[opts.list+1].setHeight( this.innerLists[0].getHeight()); + this.list.setWidth(lw * (opts.list + (dl ? 2 : 1))); + + if (this.isLoading) { + // this.selectActive(opts.list); + } + + }, + + + + + onDoubleClick : function() + { + this.collapse(); //?? + }, + + + + + + // private + recordToStack : function(store, prop, value, stack) + { + var cstore = new Roo.data.SimpleStore({ + //fields : this.store.reader.meta.fields, // we need array reader.. for + reader : this.store.reader, + data : [ ] + }); + var _this = this; + var record = false; + var srec = false; + if(store.getCount() < 1){ + return false; + } + store.each(function(r){ + if(r.data[prop] == value){ + record = r; + srec = r; + return false; + } + if (r.data.cn && r.data.cn.length) { + cstore.loadDataFromChildren( r); + var cret = _this.recordToStack(cstore, prop, value, stack); + if (cret !== false) { + record = cret; + srec = r; + return false; + } + } + + return true; + }); + if (record == false) { + return false + } + stack.unshift(srec); + return record; + }, + + /* + * find the stack of stores that match our value. + * + * + */ + + selectActive : function () + { + // if store is not loaded, then we will need to wait for that to happen first. + var stack = []; + this.recordToStack(this.store, this.valueField, this.getValue(), stack); + for (var i = 0; i < stack.length; i++ ) { + this.views[i].select(stack[i].store.indexOf(stack[i]), false, false ); + } + + } + + + + + + });/* * Based on: * Ext JS Library 1.1.1 diff --git a/roojs-ui-debug.js b/roojs-ui-debug.js index 2464e27ae7..0d2285db49 100644 --- a/roojs-ui-debug.js +++ b/roojs-ui-debug.js @@ -784,6 +784,16 @@ Roo.extend(Roo.data.Store, Roo.util.Observable, { var r = this.reader.readRecords(o); this.loadRecords(r, {add: append}, true); }, + + /** + * using 'cn' the nested child reader read the child array into it's child stores. + * @param {Object} rec The record with a 'children array + */ + loadDataFromChildren : function(rec) + { + this.loadData(this.reader.toLoadData(rec)); + }, + /** * Gets the number of cached records. @@ -1088,14 +1098,16 @@ Roo.extend(Roo.data.Store, Roo.util.Observable, { * Small helper class to make creating Stores from Array data easier. * @cfg {Number} id The array index of the record id. Leave blank to auto generate ids. * @cfg {Array} fields An array of field definition objects, or field name strings. + * @cfg {Object} an existing reader (eg. copied from another store) * @cfg {Array} data The multi-dimensional array of data * @constructor * @param {Object} config */ -Roo.data.SimpleStore = function(config){ +Roo.data.SimpleStore = function(config) +{ Roo.data.SimpleStore.superclass.constructor.call(this, { isLocal : true, - reader: new Roo.data.ArrayReader({ + reader: typeof(config.reader) != 'undefined' ? config.reader : new Roo.data.ArrayReader({ id: config.id }, Roo.data.Record.create(config.fields) @@ -1272,6 +1284,9 @@ Roo.data.DataReader = function(meta, recordType){ }; Roo.data.DataReader.prototype = { + + + readerType : 'Data', /** * Create an empty record * @param {Object} data (optional) - overlay some values @@ -1292,6 +1307,7 @@ Roo.data.DataReader.prototype = { return new this.recordType(Roo.apply(da, d)); } + };/* * Based on: * Ext JS Library 1.1.1 @@ -1830,6 +1846,8 @@ Roo.data.JsonReader = function(meta, recordType){ }; Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, { + readerType : 'Json', + /** * @prop {Boolean} metaFromRemote - if the meta data was loaded from the remote source. * Used by Store query builder to append _requestMeta to params. @@ -1971,6 +1989,14 @@ Roo.extend(Roo.data.JsonReader, Roo.data.DataReader, { records : records, totalRecords : totalRecords }; + }, + // used when loading children.. @see loadDataFromChildren + toLoadData: function(rec) + { + // expect rec just to be an array.. eg [a,b,c, [...] << cn ] + var data = typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn; + return { data : data, total : data.length }; + } });/* * Based on: @@ -2041,6 +2067,9 @@ Roo.data.XmlReader = function(meta, recordType){ Roo.data.XmlReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.XmlReader, Roo.data.DataReader, { + + readerType : 'Xml', + /** * This method is only used by a DataProxy which has retrieved data from a remote server. * @param {Object} response The XHR object which contains the parsed XML document. The response is expected @@ -2152,44 +2181,54 @@ var myReader = new Roo.data.ArrayReader({ * * created using {@link Roo.data.Record#create}. */ -Roo.data.ArrayReader = function(meta, recordType){ - - +Roo.data.ArrayReader = function(meta, recordType) +{ Roo.data.ArrayReader.superclass.constructor.call(this, meta, recordType||meta.fields); }; Roo.extend(Roo.data.ArrayReader, Roo.data.JsonReader, { - /** + + /** * Create a data block containing Roo.data.Records from an XML document. * @param {Object} o An Array of row objects which represents the dataset. * @return {Object} A data block which is used by an {@link Roo.data.Store} object as * a cache of Roo.data.Records. */ - readRecords : function(o){ + readRecords : function(o) + { var sid = this.meta ? this.meta.id : null; var recordType = this.recordType, fields = recordType.prototype.fields; var records = []; var root = o; - for(var i = 0; i < root.length; i++){ - var n = root[i]; - var values = {}; - var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null); - for(var j = 0, jlen = fields.length; j < jlen; j++){ - var f = fields.items[j]; - var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j; - var v = n[k] !== undefined ? n[k] : f.defaultValue; - v = f.convert(v); - values[f.name] = v; - } - var record = new recordType(values, id); - record.json = n; - records[records.length] = record; + for(var i = 0; i < root.length; i++){ + var n = root[i]; + var values = {}; + var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null); + for(var j = 0, jlen = fields.length; j < jlen; j++){ + var f = fields.items[j]; + var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j; + var v = n[k] !== undefined ? n[k] : f.defaultValue; + v = f.convert(v); + values[f.name] = v; } - return { - records : records, - totalRecords : records.length - }; + var record = new recordType(values, id); + record.json = n; + records[records.length] = record; + } + return { + records : records, + totalRecords : records.length + }; + }, + // used when loading children.. @see loadDataFromChildren + toLoadData: function(rec) + { + // expect rec just to be an array.. eg [a,b,c, [...] << cn ] + return typeof(rec.data.cn) == 'undefined' ? [] : rec.data.cn; + } + + });/* * Based on: * Ext JS Library 1.1.1 @@ -18914,9 +18953,11 @@ Roo.extend(Roo.form.ComboBox, Roo.form.TriggerField, { // element that contains real text value.. (when hidden is used..) // private - onRender : function(ct, position){ + onRender : function(ct, position) + { Roo.form.ComboBox.superclass.onRender.call(this, ct, position); - if(this.hiddenName){ + + if(this.hiddenName){ this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)}, 'before', true); this.hiddenField.value = @@ -18928,6 +18969,7 @@ Roo.extend(Roo.form.ComboBox, Roo.form.TriggerField, { } + if(Roo.isGecko){ this.el.dom.setAttribute('autocomplete', 'off'); } @@ -18988,7 +19030,9 @@ Roo.extend(Roo.form.ComboBox, Roo.form.TriggerField, { } this.view = new Roo.View(this.innerList, this.tpl, { - singleSelect:true, store: this.store, selectedClass: this.selectedClass + singleSelect:true, + store: this.store, + selectedClass: this.selectedClass }); this.view.on('click', this.onViewClick, this); @@ -20174,6 +20218,434 @@ Roo.extend(Roo.form.ComboBoxArray.Item, Roo.BoxComponent, { } } +});/* + * RooJS Library 1.1.1 + * Copyright(c) 2008-2011 Alan Knowles + * + * License - LGPL + */ + + +/** + * @class Roo.form.ComboNested + * @extends Roo.form.ComboBox + * A combobox for that allows selection of nested items in a list, + * eg. + * + * Book + * -> red + * -> green + * Table + * -> square + * ->red + * ->green + * -> rectangle + * ->green + * + * + * @constructor + * Create a new ComboNested + * @param {Object} config Configuration options + */ +Roo.form.ComboNested = function(config){ + Roo.form.ComboCheck.superclass.constructor.call(this, config); + // should verify some data... + // like + // hiddenName = required.. + // displayField = required + // valudField == required + var req= [ 'hiddenName', 'displayField', 'valueField' ]; + var _t = this; + Roo.each(req, function(e) { + if ((typeof(_t[e]) == 'undefined' ) || !_t[e].length) { + throw "Roo.form.ComboNested : missing value for: " + e; + } + }); + + +}; + +Roo.extend(Roo.form.ComboNested, Roo.form.ComboBox, { + + /* + * @config {Number} max Number of columns to show + */ + + maxColumns : 3, + + list : null, // the outermost div.. + innerLists : null, // the + views : null, + stores : null, + // private + loadingChildren : false, + + onRender : function(ct, position) + { + Roo.form.ComboBox.superclass.onRender.call(this, ct, position); // skip parent call - got to above.. + + if(this.hiddenName){ + this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)}, + 'before', true); + this.hiddenField.value = + this.hiddenValue !== undefined ? this.hiddenValue : + this.value !== undefined ? this.value : ''; + + // prevent input submission + this.el.dom.removeAttribute('name'); + + + } + + if(Roo.isGecko){ + this.el.dom.setAttribute('autocomplete', 'off'); + } + + var cls = 'x-combo-list'; + + this.list = new Roo.Layer({ + shadow: this.shadow, cls: [cls, this.listClass].join(' '), constrain:false + }); + + var lw = this.listWidth || Math.max(this.wrap.getWidth(), this.minListWidth); + this.list.setWidth(lw); + this.list.swallowEvent('mousewheel'); + this.assetHeight = 0; + + if(this.title){ + this.header = this.list.createChild({cls:cls+'-hd', html: this.title}); + this.assetHeight += this.header.getHeight(); + } + this.innerLists = []; + this.views = []; + this.stores = []; + for (var i =0 ; i < this.maxColumns; i++) { + this.onRenderList( cls, i); + } + + // always needs footer, as we are going to have an 'OK' button. + this.footer = this.list.createChild({cls:cls+'-ft'}); + this.pageTb = new Roo.Toolbar(this.footer); + var _this = this; + this.pageTb.add( { + + text: 'Done', + handler: function() + { + _this.collapse(); + } + }); + + if ( this.allowBlank && !this.disableClear) { + + this.pageTb.add(new Roo.Toolbar.Fill(), { + cls: 'x-btn-icon x-btn-clear', + text: ' ', + handler: function() + { + _this.collapse(); + _this.clearValue(); + _this.onSelect(false, -1); + } + }); + } + if (this.footer) { + this.assetHeight += this.footer.getHeight(); + } + + }, + onRenderList : function ( cls, i) + { + + var lw = Math.floor( + ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns + ); + + this.list.setWidth(lw); // default to '1' + + var il = this.innerLists[i] = this.list.createChild({cls:cls+'-inner'}); + //il.on('mouseover', this.onViewOver, this, { list: i }); + //il.on('mousemove', this.onViewMove, this, { list: i }); + il.setWidth(lw); + il.setStyle({ 'overflow-x' : 'hidden'}); + + if(!this.tpl){ + this.tpl = new Roo.Template({ + html : '
    {' + this.displayField + '}
    ', + isEmpty: function (value, allValues) { + //Roo.log(value); + var dl = typeof(value.data) != 'undefined' ? value.data.length : value.length; ///json is a nested response.. + return dl ? 'has-children' : 'no-children' + } + }); + } + + var store = this.store; + if (i > 0) { + store = new Roo.data.SimpleStore({ + //fields : this.store.reader.meta.fields, + reader : this.store.reader, + data : [ ] + }); + } + this.stores[i] = store; + + var view = this.views[i] = new Roo.View( + il, + this.tpl, + { + singleSelect:true, + store: store, + selectedClass: this.selectedClass + } + ); + view.getEl().setWidth(lw); + view.getEl().setStyle({ + position: i < 1 ? 'relative' : 'absolute', + top: 0, + left: (i * lw ) + 'px', + display : i > 0 ? 'none' : 'block' + }); + view.on('selectionchange', this.onSelectChange, this, {list : i }); + view.on('dblclick', this.onDoubleClick, this, {list : i }); + //view.on('click', this.onViewClick, this, { list : i }); + + store.on('beforeload', this.onBeforeLoad, this); + store.on('load', this.onLoad, this, { list : i}); + store.on('loadexception', this.onLoadException, this); + + // hide the other vies.. + + + + }, + + restrictHeight : function() + { + var mh = 0; + Roo.each(this.innerLists, function(il,i) { + var el = this.views[i].getEl(); + el.dom.style.height = ''; + var inner = el.dom; + var h = Math.max(il.clientHeight, il.offsetHeight, il.scrollHeight); + // only adjust heights on other ones.. + mh = Math.max(h, mh); + if (i < 1) { + + el.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight); + il.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight); + + } + + + }, this); + + this.list.beginUpdate(); + this.list.setHeight(mh+this.list.getFrameWidth('tb')+this.assetHeight); + this.list.alignTo(this.el, this.listAlign); + this.list.endUpdate(); + + }, + + + // -- store handlers.. + // private + onBeforeLoad : function() + { + if(!this.hasFocus){ + return; + } + this.innerLists[0].update(this.loadingText ? + '
    '+this.loadingText+'
    ' : ''); + this.restrictHeight(); + this.selectedIndex = -1; + }, + // private + onLoad : function(a,b,c,d) + { + if (!this.loadingChildren) { + // then we are loading the top level. - hide the children + for (var i = 1;i < this.views.length; i++) { + this.views[i].getEl().setStyle({ display : 'none' }); + } + var lw = Math.floor( + ((this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr')) / this.maxColumns + ); + + this.list.setWidth(lw); // default to '1' + + + } + if(!this.hasFocus){ + return; + } + + if(this.store.getCount() > 0) { + this.expand(); + this.restrictHeight(); + } else { + this.onEmptyResults(); + } + + if (!this.loadingChildren) { + this.selectActive(); + } + /* + this.stores[1].loadData([]); + this.stores[2].loadData([]); + this.views + */ + + //this.el.focus(); + }, + + + // private + onLoadException : function() + { + this.collapse(); + Roo.log(this.store.reader.jsonData); + if (this.store && typeof(this.store.reader.jsonData.errorMsg) != 'undefined') { + Roo.MessageBox.alert("Error loading",this.store.reader.jsonData.errorMsg); + } + + + }, + // no cleaning of leading spaces on blur here. + cleanLeadingSpace : function(e) { }, + + + onSelectChange : function (view, sels, opts ) + { + var ix = view.getSelectedIndexes(); + + if (opts.list > this.maxColumns - 2) { + if (view.store.getCount()< 1) { + this.views[opts.list ].getEl().setStyle({ display : 'none' }); + + } else { + if (ix.length) { + // used to clear ?? but if we are loading unselected + this.setFromData(view.store.getAt(ix[0]).data); + } + + } + + return; + } + + if (!ix.length) { + // this get's fired when trigger opens.. + // this.setFromData({}); + var str = this.stores[opts.list+1]; + str.data.clear(); // removeall wihtout the fire events.. + return; + } + + var rec = view.store.getAt(ix[0]); + + this.setFromData(rec.data); + this.fireEvent('select', this, rec, ix[0]); + + var lw = Math.floor( + ( + (this.listWidth * this.maxColumns || Math.max(this.wrap.getWidth(), this.minListWidth)) - this.list.getFrameWidth('lr') + ) / this.maxColumns + ); + this.loadingChildren = true; + this.stores[opts.list+1].loadDataFromChildren( rec ); + this.loadingChildren = false; + var dl = this.stores[opts.list+1]. getTotalCount(); + + this.views[opts.list+1].getEl().setHeight( this.innerLists[0].getHeight()); + + this.views[opts.list+1].getEl().setStyle({ display : dl ? 'block' : 'none' }); + for (var i = opts.list+2; i < this.views.length;i++) { + this.views[i].getEl().setStyle({ display : 'none' }); + } + + this.innerLists[opts.list+1].setHeight( this.innerLists[0].getHeight()); + this.list.setWidth(lw * (opts.list + (dl ? 2 : 1))); + + if (this.isLoading) { + // this.selectActive(opts.list); + } + + }, + + + + + onDoubleClick : function() + { + this.collapse(); //?? + }, + + + + + + // private + recordToStack : function(store, prop, value, stack) + { + var cstore = new Roo.data.SimpleStore({ + //fields : this.store.reader.meta.fields, // we need array reader.. for + reader : this.store.reader, + data : [ ] + }); + var _this = this; + var record = false; + var srec = false; + if(store.getCount() < 1){ + return false; + } + store.each(function(r){ + if(r.data[prop] == value){ + record = r; + srec = r; + return false; + } + if (r.data.cn && r.data.cn.length) { + cstore.loadDataFromChildren( r); + var cret = _this.recordToStack(cstore, prop, value, stack); + if (cret !== false) { + record = cret; + srec = r; + return false; + } + } + + return true; + }); + if (record == false) { + return false + } + stack.unshift(srec); + return record; + }, + + /* + * find the stack of stores that match our value. + * + * + */ + + selectActive : function () + { + // if store is not loaded, then we will need to wait for that to happen first. + var stack = []; + this.recordToStack(this.store, this.valueField, this.getValue(), stack); + for (var i = 0; i < stack.length; i++ ) { + this.views[i].select(stack[i].store.indexOf(stack[i]), false, false ); + } + + } + + + + + + });/* * Based on: * Ext JS Library 1.1.1 diff --git a/roojs-ui.js b/roojs-ui.js index 9d7e86f735..5958546d4c 100644 --- a/roojs-ui.js +++ b/roojs-ui.js @@ -24,21 +24,21 @@ for(var i=0,B=A.length;iv2?1:(v1v2?1:(v1{'+this.displayField+'}',isEmpty:function(D,E){var dl=typeof(D.data)!='undefined'?D.data.length:D.length; +return dl?'has-children':'no-children'}});}var B=this.store;if(i>0){B=new Roo.data.SimpleStore({reader:this.store.reader,data:[]});}this.stores[i]=B;var C=this.views[i]=new Roo.View(il,this.tpl,{singleSelect:true,store:B,selectedClass:this.selectedClass}); +C.getEl().setWidth(lw);C.getEl().setStyle({position:i<1?'relative':'absolute',top:0,left:(i*lw)+'px',display:i>0?'none':'block'});C.on('selectionchange',this.onSelectChange,this,{list:i});C.on('dblclick',this.onDoubleClick,this,{list:i});B.on('beforeload',this.onBeforeLoad,this); +B.on('load',this.onLoad,this,{list:i});B.on('loadexception',this.onLoadException,this);},restrictHeight:function(){var mh=0;Roo.each(this.innerLists,function(il,i){var el=this.views[i].getEl();el.dom.style.height='';var A=el.dom;var h=Math.max(il.clientHeight,il.offsetHeight,il.scrollHeight); +mh=Math.max(h,mh);if(i<1){el.setHeight(h'+this.loadingText+'':'');this.restrictHeight();this.selectedIndex=-1;},onLoad:function(a,b,c,d){if(!this.loadingChildren){for(var i=1; +i0){this.expand();this.restrictHeight();}else{this.onEmptyResults();}if(!this.loadingChildren){this.selectActive();}},onLoadException:function(){this.collapse();Roo.log(this.store.reader.jsonData);if(this.store&&typeof(this.store.reader.jsonData.errorMsg)!='undefined'){Roo.MessageBox.alert("Error loading",this.store.reader.jsonData.errorMsg); +}},cleanLeadingSpace:function(e){},onSelectChange:function(A,B,C){var ix=A.getSelectedIndexes();if(C.list>this.maxColumns-2){if(A.store.getCount()<1){this.views[C.list].getEl().setStyle({display:'none'});}else{if(ix.length){this.setFromData(A.store.getAt(ix[0]).data); +}}return;}if(!ix.length){var D=this.stores[C.list+1];D.data.clear();return;}var E=A.store.getAt(ix[0]);this.setFromData(E.data);this.fireEvent('select',this,E,ix[0]);var lw=Math.floor(((this.listWidth*this.maxColumns||Math.max(this.wrap.getWidth(),this.minListWidth))-this.list.getFrameWidth('lr'))/this.maxColumns); +this.loadingChildren=true;this.stores[C.list+1].loadDataFromChildren(E);this.loadingChildren=false;var dl=this.stores[C.list+1].getTotalCount();this.views[C.list+1].getEl().setHeight(this.innerLists[0].getHeight());this.views[C.list+1].getEl().setStyle({display:dl?'block':'none'} +);for(var i=C.list+2;i