From e01802ac69da0ec0c9ccecc295beff82c1779f68 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Fri, 30 Jul 2021 16:19:01 +0800 Subject: [PATCH] major doc changes --- Roo/BasicDialog.js | 136 - Roo/BorderLayout.js | 17 + Roo/Button.js | 2 +- Roo/ContentPanel.js | 19 +- Roo/DomHelper.js | 2 +- Roo/LayoutDialog.js | 160 + Roo/PagingToolbar.js | 8 +- Roo/Toolbar.js | 6 +- Roo/bootstrap/Body.js | 3 + Roo/bootstrap/Button.js | 3 +- Roo/bootstrap/ButtonGroup.js | 2 + Roo/bootstrap/Calendar.js | 5 + Roo/bootstrap/Card.js | 10 +- Roo/bootstrap/CardFooter.js | 3 + Roo/bootstrap/CardHeader.js | 2 + Roo/bootstrap/CardImageTop.js | 3 + Roo/bootstrap/Column.js | 1 + Roo/bootstrap/Component.js | 2 + Roo/bootstrap/Container.js | 2 + Roo/bootstrap/Element.js | 4 +- Roo/bootstrap/Header.js | 3 + Roo/bootstrap/LayoutMasonry.js | 14 +- Roo/bootstrap/Link.js | 4 +- Roo/bootstrap/Menu.js | 480 - Roo/bootstrap/MenuItem.js | 132 - Roo/bootstrap/MenuSeparator.js | 39 - Roo/bootstrap/Modal.js | 5 +- Roo/bootstrap/Navbar.Item.js | 11 - Roo/bootstrap/Pagination.js | 6 +- Roo/bootstrap/PagingToolbar.js | 12 +- Roo/bootstrap/Popover.js | 3 + Roo/bootstrap/PopoverNav.js | 16 +- Roo/bootstrap/Progress.js | 1 + Roo/bootstrap/Row.js | 1 + Roo/bootstrap/TabGroup.js | 14 +- Roo/bootstrap/TabPanel.js | 3 +- Roo/bootstrap/Table.js | 7 +- Roo/bootstrap/Table/AbstractSelectionModel.js | 5 - Roo/bootstrap/Table/RowSelectionModel.js | 495 - Roo/bootstrap/TableBody.js | 2 + Roo/bootstrap/TableCell.js | 3 + Roo/bootstrap/TableRow.js | 2 + Roo/bootstrap/breadcrumb/Item.js | 4 +- Roo/bootstrap/dash/TabBox.js | 1 + Roo/bootstrap/dash/TabPane.js | 1 + Roo/bootstrap/{ => form}/CardUploader.js | 14 +- Roo/bootstrap/{ => form}/CheckBox.js | 46 +- Roo/bootstrap/{ => form}/ComboBox.js | 66 +- Roo/bootstrap/{ => form}/DateField.js | 78 +- Roo/bootstrap/{ => form}/DateSplitField.js | 20 +- Roo/bootstrap/{ => form}/FieldLabel.js | 14 +- Roo/bootstrap/{ => form}/Form.js | 17 +- Roo/bootstrap/{ => form}/HtmlEditor.js | 22 +- .../HtmlEditorToolbarStandard.js} | 20 +- Roo/bootstrap/{ => form}/Input.js | 15 +- Roo/bootstrap/{ => form}/Markdown.js | 14 +- Roo/bootstrap/{ => form}/MoneyField.js | 16 +- Roo/bootstrap/{ => form}/MonthField.js | 56 +- Roo/bootstrap/{ => form}/NumberField.js | 16 +- Roo/bootstrap/{ => form}/PhoneInput.js | 18 +- Roo/bootstrap/{ => form}/PhoneInputData.js | 2 +- Roo/bootstrap/{ => form}/Radio.js | 8 +- Roo/bootstrap/{ => form}/RadioSet.js | 23 +- Roo/bootstrap/{ => form}/SecurePass.js | 20 +- Roo/bootstrap/{ => form}/TextArea.js | 10 +- Roo/bootstrap/{ => form}/TimeField.js | 28 +- Roo/bootstrap/{ => form}/TriggerField.js | 30 +- Roo/bootstrap/form/deprecated.js | 23 + Roo/bootstrap/form/namespace.js | 1 + Roo/bootstrap/layout/Border.js | 21 + Roo/bootstrap/layout/Manager.js | 1 + Roo/bootstrap/layout/layout-ns.js | 1 - Roo/bootstrap/layout/namespace.js | 1 + Roo/bootstrap/menu/Item.js | 161 +- Roo/bootstrap/{MenuMgr.js => menu/Manager.js} | 14 +- Roo/bootstrap/menu/Menu.js | 508 +- Roo/bootstrap/menu/Separator.js | 11 +- Roo/bootstrap/menu/deprecated.js | 5 + Roo/bootstrap/menu/namespace.js | 1 + Roo/bootstrap/{Navbar.js => nav/Bar.js} | 9 +- Roo/bootstrap/{NavGroup.js => nav/Group.js} | 33 +- .../{NavHeaderbar.js => nav/Headerbar.js} | 13 +- Roo/bootstrap/{NavItem.js => nav/Item.js} | 30 +- .../{NavProgressBar.js => nav/ProgressBar.js} | 30 +- .../ProgressBarItem.js} | 14 +- .../{NavSidebar.js => nav/Sidebar.js} | 11 +- .../{NavSidebarItem.js => nav/SidebarItem.js} | 13 +- .../{NavSimplebar.js => nav/Simplebar.js} | 11 +- Roo/bootstrap/nav/deprecated.js | 13 + Roo/bootstrap/nav/namespace.js | 2 + Roo/bootstrap/panel/Content.js | 14 +- Roo/bootstrap/panel/Grid.js | 1 + Roo/bootstrap/panel/Nest.js | 5 +- Roo/bootstrap/panel/namespace.js | 1 + Roo/bootstrap/panel/panel-ns.js | 1 - Roo/data/DataProxy.js | 3 +- Roo/data/DataReader.js | 1 + Roo/data/SimpleStore.js | 2 + Roo/data/Store.js | 4 +- Roo/form/ComboBoxArray.js | 2 +- Roo/form/Form.js | 5 + Roo/form/Layout.js | 3 + Roo/grid/AbstractGridView.js | 8 +- Roo/grid/AbstractSelectionModel.js | 1 + Roo/grid/Calendar.js | 2 +- Roo/grid/Grid.js | 15 + Roo/menu/Adapter.js | 1 + Roo/menu/BaseItem.js | 1 + Roo/menu/Item.js | 5 +- Roo/menu/Menu.js | 1 + Roo/tree/ColumnTree.js | 2 +- Roo/tree/TreeEditor.js | 2 +- Roo/tree/TreePanel.js | 6 +- buildSDK/dependancy_bootstrap.txt | 96 +- buildSDK/dependancy_ui.txt | 1 + docs/Roo.docs.bjs | 401 +- docs/Roo.docs.init.js | 9 +- docs/Roo.docs.js | 581 +- docs/Roo.docs.template.js | 62 +- docs/docs.css | 17 + docs/json/roodata.json | 245669 +++++++++++++-- docs/src/Roo_BasicDialog.js.html | 137 +- docs/src/Roo_BorderLayout.js.html | 19 +- docs/src/Roo_Button.js.html | 2 +- docs/src/Roo_ContentPanel.js.html | 19 +- docs/src/Roo_DomHelper.js.html | 2 +- docs/src/Roo_LayoutDialog.js.html | 160 + docs/src/Roo_PagingToolbar.js.html | 8 +- docs/src/Roo_Toolbar.js.html | 6 +- docs/src/Roo_bootstrap_Body.js.html | 3 + docs/src/Roo_bootstrap_Button.js.html | 3 +- docs/src/Roo_bootstrap_ButtonGroup.js.html | 2 + docs/src/Roo_bootstrap_Calendar.js.html | 5 + docs/src/Roo_bootstrap_Card.js.html | 12 +- docs/src/Roo_bootstrap_CardFooter.js.html | 3 + docs/src/Roo_bootstrap_CardHeader.js.html | 2 + docs/src/Roo_bootstrap_CardImage.js.html | 33 - docs/src/Roo_bootstrap_CardImageTop.js.html | 3 + docs/src/Roo_bootstrap_Column.js.html | 1 + docs/src/Roo_bootstrap_Component.js.html | 2 + docs/src/Roo_bootstrap_Container.js.html | 2 + docs/src/Roo_bootstrap_Element.js.html | 4 +- docs/src/Roo_bootstrap_Header.js.html | 3 + docs/src/Roo_bootstrap_LayoutMasonry.js.html | 16 +- docs/src/Roo_bootstrap_Link.js.html | 4 +- docs/src/Roo_bootstrap_Menu.js.html | 480 - docs/src/Roo_bootstrap_MenuItem.js.html | 132 - docs/src/Roo_bootstrap_MenuSeparator.js.html | 39 - docs/src/Roo_bootstrap_Modal.js.html | 5 +- docs/src/Roo_bootstrap_NavSidebar.js.html | 46 - docs/src/Roo_bootstrap_Pagination.js.html | 6 +- docs/src/Roo_bootstrap_PagingToolbar.js.html | 12 +- docs/src/Roo_bootstrap_Popover.js.html | 3 + docs/src/Roo_bootstrap_PopoverNav.js.html | 20 +- docs/src/Roo_bootstrap_Progress.js.html | 1 + docs/src/Roo_bootstrap_Row.js.html | 1 + docs/src/Roo_bootstrap_TabGroup.js.html | 16 +- docs/src/Roo_bootstrap_TabPanel.js.html | 3 +- docs/src/Roo_bootstrap_Table.js.html | 7 +- docs/src/Roo_bootstrap_TableBody.js.html | 2 + docs/src/Roo_bootstrap_TableCell.js.html | 3 + docs/src/Roo_bootstrap_TableRow.js.html | 2 + ...strap_Table_AbstractSelectionModel.js.html | 6 - ..._bootstrap_Table_RowSelectionModel.js.html | 499 - .../src/Roo_bootstrap_breadcrumb_Item.js.html | 4 +- docs/src/Roo_bootstrap_dash_TabBox.js.html | 1 + docs/src/Roo_bootstrap_dash_TabPane.js.html | 1 + ...> Roo_bootstrap_form_CardUploader.js.html} | 16 +- ...ml => Roo_bootstrap_form_CheckBox.js.html} | 48 +- ...ml => Roo_bootstrap_form_ComboBox.js.html} | 68 +- ...l => Roo_bootstrap_form_DateField.js.html} | 80 +- ...Roo_bootstrap_form_DateSplitField.js.html} | 22 +- ... => Roo_bootstrap_form_FieldLabel.js.html} | 16 +- ...s.html => Roo_bootstrap_form_Form.js.html} | 19 +- ... => Roo_bootstrap_form_HtmlEditor.js.html} | 24 +- ...ap_form_HtmlEditorToolbarStandard.js.html} | 22 +- ....html => Roo_bootstrap_form_Input.js.html} | 17 +- ...ml => Roo_bootstrap_form_Markdown.js.html} | 16 +- ... => Roo_bootstrap_form_MoneyField.js.html} | 18 +- ... => Roo_bootstrap_form_MonthField.js.html} | 58 +- ...=> Roo_bootstrap_form_NumberField.js.html} | 18 +- ... => Roo_bootstrap_form_PhoneInput.js.html} | 20 +- ...Roo_bootstrap_form_PhoneInputData.js.html} | 4 +- ....html => Roo_bootstrap_form_Radio.js.html} | 10 +- ...ml => Roo_bootstrap_form_RadioSet.js.html} | 25 +- ... => Roo_bootstrap_form_SecurePass.js.html} | 22 +- ...ml => Roo_bootstrap_form_TextArea.js.html} | 12 +- ...l => Roo_bootstrap_form_TimeField.js.html} | 30 +- ...> Roo_bootstrap_form_TriggerField.js.html} | 32 +- .../src/Roo_bootstrap_form_deprecated.js.html | 23 + docs/src/Roo_bootstrap_form_namespace.js.html | 1 + docs/src/Roo_bootstrap_layout_Border.js.html | 21 + docs/src/Roo_bootstrap_layout_Manager.js.html | 1 + .../Roo_bootstrap_layout_layout-ns.js.html | 1 - .../Roo_bootstrap_layout_namespace.js.html | 1 + docs/src/Roo_bootstrap_menu_Item.js.html | 163 +- ...tml => Roo_bootstrap_menu_Manager.js.html} | 16 +- docs/src/Roo_bootstrap_menu_Menu.js.html | 502 +- docs/src/Roo_bootstrap_menu_Separator.js.html | 13 +- .../src/Roo_bootstrap_menu_deprecated.js.html | 6 + docs/src/Roo_bootstrap_menu_namespace.js.html | 2 + ....js.html => Roo_bootstrap_nav_Bar.js.html} | 11 +- ...s.html => Roo_bootstrap_nav_Group.js.html} | 35 +- ...ml => Roo_bootstrap_nav_Headerbar.js.html} | 15 +- ...js.html => Roo_bootstrap_nav_Item.js.html} | 32 +- ... => Roo_bootstrap_nav_ProgressBar.js.html} | 32 +- ...Roo_bootstrap_nav_ProgressBarItem.js.html} | 16 +- docs/src/Roo_bootstrap_nav_Sidebar.js.html | 47 + ... => Roo_bootstrap_nav_SidebarItem.js.html} | 15 +- ...ml => Roo_bootstrap_nav_Simplebar.js.html} | 13 +- docs/src/Roo_bootstrap_nav_deprecated.js.html | 13 + docs/src/Roo_bootstrap_nav_namespace.js.html | 3 + docs/src/Roo_bootstrap_panel_Content.js.html | 14 +- docs/src/Roo_bootstrap_panel_Grid.js.html | 1 + docs/src/Roo_bootstrap_panel_Nest.js.html | 5 +- .../src/Roo_bootstrap_panel_namespace.js.html | 1 + docs/src/Roo_bootstrap_panel_panel-ns.js.html | 1 - docs/src/Roo_data_DataProxy.js.html | 3 +- docs/src/Roo_data_DataReader.js.html | 1 + docs/src/Roo_data_SimpleStore.js.html | 2 + docs/src/Roo_data_Store.js.html | 4 +- docs/src/Roo_form_ComboBoxArray.js.html | 2 +- docs/src/Roo_form_Form.js.html | 7 +- docs/src/Roo_form_Layout.js.html | 3 + docs/src/Roo_grid_AbstractGridView.js.html | 8 +- .../Roo_grid_AbstractSelectionModel.js.html | 1 + docs/src/Roo_grid_Calendar.js.html | 2 +- docs/src/Roo_grid_Grid.js.html | 15 + docs/src/Roo_menu_Adapter.js.html | 1 + docs/src/Roo_menu_BaseItem.js.html | 1 + docs/src/Roo_menu_Item.js.html | 5 +- docs/src/Roo_menu_Menu.js.html | 1 + docs/src/Roo_tree_ColumnTree.js.html | 2 +- docs/src/Roo_tree_TreeEditor.js.html | 2 +- docs/src/Roo_tree_TreePanel.js.html | 6 +- docs/summary.txt | 77 +- docs/symbols/Array.json | 35 +- docs/symbols/Date.json | 133 +- docs/symbols/Function.json | 42 +- docs/symbols/Number.json | 14 +- docs/symbols/Roo.Ajax.json | 128 +- docs/symbols/Roo.BasicDialog.json | 357 +- docs/symbols/Roo.BasicLayoutRegion.json | 206 +- docs/symbols/Roo.BorderLayout.json | 239 +- docs/symbols/Roo.BoxComponent.json | 321 +- docs/symbols/Roo.Button.json | 270 +- docs/symbols/Roo.CalendarPanel.json | 223 +- docs/symbols/Roo.ColorPalette.json | 219 +- docs/symbols/Roo.Component.json | 399 +- docs/symbols/Roo.ComponentMgr.json | 35 +- docs/symbols/Roo.CompositeElement.json | 102 +- docs/symbols/Roo.CompositeElementLite.json | 98 +- docs/symbols/Roo.ContentPanel.json | 268 +- docs/symbols/Roo.DDView.json | 103 +- docs/symbols/Roo.DatePicker.json | 284 +- docs/symbols/Roo.DialogManager.json | 35 +- docs/symbols/Roo.Document.json | 80 +- docs/symbols/Roo.DomHelper.json | 70 +- docs/symbols/Roo.DomQuery.json | 56 +- docs/symbols/Roo.DomTemplate.json | 100 +- docs/symbols/Roo.Editor.json | 306 +- docs/symbols/Roo.Element.json | 984 +- docs/symbols/Roo.EventManager.json | 63 +- docs/symbols/Roo.EventObject.json | 105 +- docs/symbols/Roo.Fx.json | 159 +- docs/symbols/Roo.GridPanel.json | 256 +- docs/symbols/Roo.HtmlEditorCore.json | 345 +- docs/symbols/Roo.JsonView.json | 307 +- docs/symbols/Roo.KeyMap.json | 42 +- docs/symbols/Roo.KeyNav.json | 30 +- docs/symbols/Roo.Layer.json | 1008 +- docs/symbols/Roo.LayoutDialog.json | 550 +- docs/symbols/Roo.LayoutManager.json | 145 +- docs/symbols/Roo.LayoutRegion.json | 319 +- docs/symbols/Roo.LoadMask.json | 30 +- docs/symbols/Roo.MasterTemplate.json | 114 +- docs/symbols/Roo.NestedLayoutPanel.json | 258 +- docs/symbols/Roo.PagingToolbar.json | 191 +- docs/symbols/Roo.QuickTips.json | 94 +- docs/symbols/Roo.ReaderLayout.json | 230 +- docs/symbols/Roo.Resizable.json | 201 +- docs/symbols/Roo.Shadow.json | 48 +- .../Roo.SplitBar.AbsoluteLayoutAdapter.json | 21 +- .../Roo.SplitBar.BasicLayoutAdapter.json | 25 +- docs/symbols/Roo.SplitBar.json | 148 +- docs/symbols/Roo.SplitButton.json | 273 +- docs/symbols/Roo.SplitLayoutRegion.json | 321 +- docs/symbols/Roo.TabPanel.json | 207 +- docs/symbols/Roo.TabPanelItem.json | 201 +- docs/symbols/Roo.Template.json | 92 +- docs/symbols/Roo.Toolbar.Button.json | 252 +- docs/symbols/Roo.Toolbar.Fill.json | 65 +- docs/symbols/Roo.Toolbar.Item.json | 76 +- docs/symbols/Roo.Toolbar.Separator.json | 65 +- docs/symbols/Roo.Toolbar.Spacer.json | 69 +- docs/symbols/Roo.Toolbar.SplitButton.json | 267 +- docs/symbols/Roo.Toolbar.TextItem.json | 68 +- docs/symbols/Roo.Toolbar.json | 152 +- docs/symbols/Roo.TreePanel.json | 249 +- .../Roo.UpdateManager.BasicRenderer.json | 14 +- docs/symbols/Roo.UpdateManager.defaults.json | 7 + docs/symbols/Roo.UpdateManager.json | 176 +- docs/symbols/Roo.View.json | 264 +- docs/symbols/Roo.XComponent.event.events.json | 7 + docs/symbols/Roo.XComponent.json | 144 +- docs/symbols/Roo.XTemplate.json | 93 +- docs/symbols/Roo.bootstrap.Alert.json | 317 +- .../Roo.bootstrap.BezierSignature.json | 293 +- docs/symbols/Roo.bootstrap.Body.json | 336 +- docs/symbols/Roo.bootstrap.Brick.json | 288 +- docs/symbols/Roo.bootstrap.Button.json | 429 +- docs/symbols/Roo.bootstrap.ButtonGroup.json | 293 +- .../symbols/Roo.bootstrap.ButtonUploader.json | 442 +- docs/symbols/Roo.bootstrap.Calendar.json | 304 +- docs/symbols/Roo.bootstrap.Card.json | 636 +- docs/symbols/Roo.bootstrap.CardFooter.json | 359 +- docs/symbols/Roo.bootstrap.CardHeader.json | 359 +- docs/symbols/Roo.bootstrap.CardImage.json | 25 - docs/symbols/Roo.bootstrap.CardImageTop.json | 359 +- docs/symbols/Roo.bootstrap.Column.json | 400 +- docs/symbols/Roo.bootstrap.Component.json | 446 +- docs/symbols/Roo.bootstrap.Container.json | 434 +- .../Roo.bootstrap.DocumentManager.json | 365 +- .../symbols/Roo.bootstrap.DocumentSlider.json | 278 +- .../symbols/Roo.bootstrap.DocumentViewer.json | 294 +- docs/symbols/Roo.bootstrap.DropTarget.json | 291 +- docs/symbols/Roo.bootstrap.Element.json | 368 +- docs/symbols/Roo.bootstrap.Graph.json | 291 +- docs/symbols/Roo.bootstrap.Header.json | 347 +- docs/symbols/Roo.bootstrap.Img.json | 319 +- docs/symbols/Roo.bootstrap.LayoutMasonry.json | 353 +- .../Roo.bootstrap.LayoutMasonryAuto.json | 314 +- docs/symbols/Roo.bootstrap.Link.json | 369 +- .../symbols/Roo.bootstrap.LocationPicker.json | 364 +- docs/symbols/Roo.bootstrap.MasonryBrick.json | 325 +- docs/symbols/Roo.bootstrap.Menu.json | 1170 - docs/symbols/Roo.bootstrap.MenuItem.json | 1014 - docs/symbols/Roo.bootstrap.MenuSeparator.json | 941 - docs/symbols/Roo.bootstrap.MessageBar.json | 292 +- docs/symbols/Roo.bootstrap.MessageBox.json | 84 +- docs/symbols/Roo.bootstrap.Modal.json | 426 +- docs/symbols/Roo.bootstrap.NavSidebar.json | 988 - docs/symbols/Roo.bootstrap.Pagination.json | 278 +- .../symbols/Roo.bootstrap.PaginationItem.json | 291 +- docs/symbols/Roo.bootstrap.PagingToolbar.json | 388 +- docs/symbols/Roo.bootstrap.Popover.json | 383 +- docs/symbols/Roo.bootstrap.PopoverNav.json | 488 +- docs/symbols/Roo.bootstrap.Progress.json | 274 +- docs/symbols/Roo.bootstrap.ProgressBar.json | 292 +- docs/symbols/Roo.bootstrap.Row.json | 334 +- docs/symbols/Roo.bootstrap.Slider.json | 266 +- ...tstrap.SplitBar.AbsoluteLayoutAdapter.json | 21 +- ...bootstrap.SplitBar.BasicLayoutAdapter.json | 25 +- docs/symbols/Roo.bootstrap.SplitBar.json | 148 +- docs/symbols/Roo.bootstrap.TabGroup.json | 386 +- docs/symbols/Roo.bootstrap.TabPanel.json | 362 +- ...ootstrap.Table.AbstractSelectionModel.json | 370 - ...Roo.bootstrap.Table.RowSelectionModel.json | 558 - docs/symbols/Roo.bootstrap.Table.json | 471 +- docs/symbols/Roo.bootstrap.TableBody.json | 282 +- docs/symbols/Roo.bootstrap.TableCell.json | 381 +- docs/symbols/Roo.bootstrap.TableRow.json | 282 +- docs/symbols/Roo.bootstrap.Tooltip.json | 14 +- docs/symbols/Roo.bootstrap.UploadCropbox.json | 364 +- .../Roo.bootstrap.breadcrumb.Item.json | 349 +- .../symbols/Roo.bootstrap.breadcrumb.Nav.json | 268 +- docs/symbols/Roo.bootstrap.breadcrumb.json | 7 + .../symbols/Roo.bootstrap.dash.NumberBox.json | 281 +- docs/symbols/Roo.bootstrap.dash.TabBox.json | 301 +- docs/symbols/Roo.bootstrap.dash.TabPane.json | 290 +- docs/symbols/Roo.bootstrap.dash.json | 7 + ...n => Roo.bootstrap.form.CardUploader.json} | 453 +- ....json => Roo.bootstrap.form.CheckBox.json} | 839 +- ....json => Roo.bootstrap.form.ComboBox.json} | 1379 +- ...json => Roo.bootstrap.form.DateField.json} | 808 +- ...=> Roo.bootstrap.form.DateSplitField.json} | 399 +- ...son => Roo.bootstrap.form.FieldLabel.json} | 404 +- ...Form.json => Roo.bootstrap.form.Form.json} | 614 +- ...son => Roo.bootstrap.form.HtmlEditor.json} | 974 +- ...tstrap.form.HtmlEditorToolbarStandard.json | 1219 + ...put.json => Roo.bootstrap.form.Input.json} | 763 +- ....json => Roo.bootstrap.form.Markdown.json} | 810 +- ...son => Roo.bootstrap.form.MoneyField.json} | 1368 +- ...son => Roo.bootstrap.form.MonthField.json} | 775 +- ...on => Roo.bootstrap.form.NumberField.json} | 778 +- ...son => Roo.bootstrap.form.PhoneInput.json} | 812 +- ...dio.json => Roo.bootstrap.form.Radio.json} | 274 +- ....json => Roo.bootstrap.form.RadioSet.json} | 775 +- ...son => Roo.bootstrap.form.SecurePass.json} | 767 +- ....json => Roo.bootstrap.form.TextArea.json} | 810 +- ...json => Roo.bootstrap.form.TimeField.json} | 775 +- ...n => Roo.bootstrap.form.TriggerField.json} | 806 +- docs/symbols/Roo.bootstrap.form.json | 25 + ....bootstrap.htmleditor.ToolbarStandard.json | 48 - docs/symbols/Roo.bootstrap.json | 7 + docs/symbols/Roo.bootstrap.layout.Basic.json | 163 +- docs/symbols/Roo.bootstrap.layout.Border.json | 402 +- .../symbols/Roo.bootstrap.layout.Manager.json | 321 +- docs/symbols/Roo.bootstrap.layout.Region.json | 293 +- docs/symbols/Roo.bootstrap.layout.Split.json | 321 +- docs/symbols/Roo.bootstrap.layout.json | 7 + docs/symbols/Roo.bootstrap.menu.Item.json | 403 +- ...r.json => Roo.bootstrap.menu.Manager.json} | 51 +- docs/symbols/Roo.bootstrap.menu.Menu.json | 548 +- .../symbols/Roo.bootstrap.menu.Separator.json | 268 +- docs/symbols/Roo.bootstrap.menu.json | 7 + ...Navbar.json => Roo.bootstrap.nav.Bar.json} | 299 +- ...roup.json => Roo.bootstrap.nav.Group.json} | 430 +- docs/symbols/Roo.bootstrap.nav.Headerbar.json | 1243 + ...vItem.json => Roo.bootstrap.nav.Item.json} | 442 +- ...son => Roo.bootstrap.nav.ProgressBar.json} | 296 +- ...=> Roo.bootstrap.nav.ProgressBarItem.json} | 305 +- ...ar.json => Roo.bootstrap.nav.Sidebar.json} | 436 +- ...son => Roo.bootstrap.nav.SidebarItem.json} | 435 +- ....json => Roo.bootstrap.nav.Simplebar.json} | 357 +- ...htmleditor.json => Roo.bootstrap.nav.json} | 11 +- docs/symbols/Roo.bootstrap.panel.Content.json | 346 +- docs/symbols/Roo.bootstrap.panel.Grid.json | 273 +- docs/symbols/Roo.bootstrap.panel.Nest.json | 279 +- docs/symbols/Roo.bootstrap.panel.TabItem.json | 201 +- docs/symbols/Roo.bootstrap.panel.Tabs.json | 207 +- docs/symbols/Roo.bootstrap.panel.json | 7 + docs/symbols/Roo.data.ArrayReader.json | 27 +- docs/symbols/Roo.data.Connection.json | 138 +- docs/symbols/Roo.data.DataProxy.json | 382 +- docs/symbols/Roo.data.DataReader.json | 20 +- docs/symbols/Roo.data.HttpProxy.json | 400 +- docs/symbols/Roo.data.JsonReader.json | 43 +- docs/symbols/Roo.data.JsonStore.json | 339 +- docs/symbols/Roo.data.MemoryProxy.json | 14 +- docs/symbols/Roo.data.Node.json | 265 +- docs/symbols/Roo.data.Record.json | 49 +- docs/symbols/Roo.data.ScriptTagProxy.json | 33 +- docs/symbols/Roo.data.SimpleStore.json | 343 +- docs/symbols/Roo.data.SortTypes.json | 56 +- docs/symbols/Roo.data.Store.json | 361 +- docs/symbols/Roo.data.Tree.json | 140 +- docs/symbols/Roo.data.XmlReader.json | 40 +- docs/symbols/Roo.data.json | 7 + docs/symbols/Roo.dd.DD.json | 420 +- docs/symbols/Roo.dd.DDProxy.json | 431 +- docs/symbols/Roo.dd.DDTarget.json | 381 +- docs/symbols/Roo.dd.DragDrop.json | 395 +- docs/symbols/Roo.dd.DragDropMgr.json | 715 - docs/symbols/Roo.dd.DragSource.json | 503 +- docs/symbols/Roo.dd.DragZone.json | 526 +- docs/symbols/Roo.dd.DropTarget.json | 440 +- docs/symbols/Roo.dd.DropZone.json | 477 +- docs/symbols/Roo.dd.Registry.json | 49 +- docs/symbols/Roo.dd.ScrollManager.json | 28 +- docs/symbols/Roo.dd.StatusProxy.json | 83 +- docs/symbols/Roo.dd.json | 7 + docs/symbols/Roo.form.Action.json | 7 + docs/symbols/Roo.form.BasicForm.json | 290 +- docs/symbols/Roo.form.Checkbox.json | 468 +- docs/symbols/Roo.form.Column.json | 230 +- docs/symbols/Roo.form.ComboBox.json | 733 +- docs/symbols/Roo.form.ComboBoxArray.Item.json | 279 +- docs/symbols/Roo.form.ComboBoxArray.json | 546 +- docs/symbols/Roo.form.ComboCheck.json | 714 +- docs/symbols/Roo.form.ComboNested.json | 714 +- docs/symbols/Roo.form.DateField.json | 566 +- docs/symbols/Roo.form.DayPicker.json | 448 +- docs/symbols/Roo.form.DisplayField.json | 461 +- docs/symbols/Roo.form.FCKeditor.json | 535 +- docs/symbols/Roo.form.Field.json | 495 +- docs/symbols/Roo.form.FieldSet.json | 259 +- docs/symbols/Roo.form.Form.json | 431 +- docs/symbols/Roo.form.GridField.json | 454 +- docs/symbols/Roo.form.Hidden.json | 525 +- .../Roo.form.HtmlEditor.ToolbarContext.json | 20 +- .../Roo.form.HtmlEditor.ToolbarStandard.json | 32 +- docs/symbols/Roo.form.HtmlEditor.json | 515 +- docs/symbols/Roo.form.Layout.json | 262 +- docs/symbols/Roo.form.MonthField.json | 566 +- docs/symbols/Roo.form.NumberField.json | 552 +- docs/symbols/Roo.form.Radio.json | 469 +- docs/symbols/Roo.form.Row.json | 262 +- docs/symbols/Roo.form.Select.json | 710 +- docs/symbols/Roo.form.Signature.json | 497 +- docs/symbols/Roo.form.TextArea.json | 532 +- docs/symbols/Roo.form.TextField.json | 548 +- docs/symbols/Roo.form.TextItem.json | 285 +- docs/symbols/Roo.form.TriggerField.json | 540 +- docs/symbols/Roo.form.VTypes.json | 35 +- docs/symbols/Roo.form.json | 7 + docs/symbols/Roo.grid.AbstractGridView.json | 410 +- .../Roo.grid.AbstractSelectionModel.json | 106 +- docs/symbols/Roo.grid.Calendar.json | 944 +- docs/symbols/Roo.grid.CellSelectionModel.json | 159 +- docs/symbols/Roo.grid.ColumnModel.json | 368 +- docs/symbols/Roo.grid.EditorGrid.json | 357 +- docs/symbols/Roo.grid.Grid.json | 390 +- docs/symbols/Roo.grid.GridEditor.json | 294 +- docs/symbols/Roo.grid.GridView.json | 157 +- docs/symbols/Roo.grid.PropertyGrid.json | 501 +- docs/symbols/Roo.grid.RowSelectionModel.json | 250 +- docs/symbols/Roo.grid.SplitDragZone.json | 423 +- docs/symbols/Roo.grid.json | 7 + docs/symbols/Roo.json | 182 +- docs/symbols/Roo.lib.Ajax.json | 14 +- docs/symbols/Roo.lib.Dom.json | 7 + docs/symbols/Roo.lib.json | 7 + docs/symbols/Roo.menu.Adapter.json | 228 +- docs/symbols/Roo.menu.BaseItem.json | 243 +- docs/symbols/Roo.menu.CheckItem.json | 275 +- docs/symbols/Roo.menu.ColorItem.json | 223 +- docs/symbols/Roo.menu.ColorMenu.json | 216 +- docs/symbols/Roo.menu.DateItem.json | 223 +- docs/symbols/Roo.menu.DateMenu.json | 216 +- docs/symbols/Roo.menu.Item.json | 255 +- docs/symbols/Roo.menu.Menu.json | 240 +- docs/symbols/Roo.menu.MenuMgr.json | 21 +- docs/symbols/Roo.menu.Separator.json | 226 +- docs/symbols/Roo.menu.TextItem.json | 229 +- docs/symbols/Roo.menu.json | 7 + docs/symbols/Roo.namespace.json | 941 - docs/symbols/Roo.state.CookieProvider.json | 56 +- docs/symbols/Roo.state.Manager.json | 42 +- docs/symbols/Roo.state.Provider.json | 50 +- docs/symbols/Roo.state.json | 7 + docs/symbols/Roo.tree.AsyncTreeNode.json | 441 +- docs/symbols/Roo.tree.ColumnTree.json | 1686 +- .../Roo.tree.DefaultSelectionModel.json | 137 +- .../symbols/Roo.tree.MultiSelectionModel.json | 119 +- docs/symbols/Roo.tree.TreeEditor.json | 314 +- docs/symbols/Roo.tree.TreeFilter.json | 28 +- docs/symbols/Roo.tree.TreeLoader.json | 127 +- docs/symbols/Roo.tree.TreeNode.json | 437 +- docs/symbols/Roo.tree.TreeNodeUI.json | 7 + docs/symbols/Roo.tree.TreePanel.json | 343 +- docs/symbols/Roo.tree.TreeSorter.json | 25 +- docs/symbols/Roo.tree.json | 7 + docs/symbols/Roo.util.CSS.json | 56 +- docs/symbols/Roo.util.ClickRepeater.json | 113 +- docs/symbols/Roo.util.Clipboard.json | 7 + docs/symbols/Roo.util.DelayedTask.json | 7 + docs/symbols/Roo.util.Format.json | 119 +- docs/symbols/Roo.util.JSON.json | 7 + docs/symbols/Roo.util.MixedCollection.json | 299 +- docs/symbols/Roo.util.Observable.json | 397 +- .../Roo.util.TextMetrics.Instance.json | 7 + docs/symbols/Roo.util.TextMetrics.json | 21 +- docs/symbols/Roo.util.json | 7 + docs/symbols/String.json | 42 +- docs/symbols/_global_.json | 63 +- docs/symbols/this.json | 7 + docs/tree.json | 332 +- roojs-all.js | 13 +- roojs-bootstrap-debug.js | 2227 +- roojs-bootstrap.js | 445 +- roojs-calendar-debug.js | 7 + roojs-calendar.js | 2 +- roojs-core-debug.js | 2 +- roojs-core.js | 2 +- roojs-debug.js | 142 +- roojs-ui-debug.js | 140 +- roojs-ui.js | 11 +- 558 files changed, 290088 insertions(+), 61936 deletions(-) create mode 100644 Roo/LayoutDialog.js delete mode 100644 Roo/bootstrap/Menu.js delete mode 100644 Roo/bootstrap/MenuItem.js delete mode 100644 Roo/bootstrap/MenuSeparator.js delete mode 100644 Roo/bootstrap/Navbar.Item.js delete mode 100644 Roo/bootstrap/Table/AbstractSelectionModel.js delete mode 100644 Roo/bootstrap/Table/RowSelectionModel.js rename Roo/bootstrap/{ => form}/CardUploader.js (96%) rename Roo/bootstrap/{ => form}/CheckBox.js (92%) rename Roo/bootstrap/{ => form}/ComboBox.js (97%) rename Roo/bootstrap/{ => form}/DateField.js (92%) rename Roo/bootstrap/{ => form}/DateSplitField.js (94%) rename Roo/bootstrap/{ => form}/FieldLabel.js (92%) rename Roo/bootstrap/{ => form}/Form.js (98%) rename Roo/bootstrap/{ => form}/HtmlEditor.js (93%) rename Roo/bootstrap/{htmleditor/ToolbarStandard.js => form/HtmlEditorToolbarStandard.js} (92%) rename Roo/bootstrap/{ => form}/Input.js (98%) rename Roo/bootstrap/{ => form}/Markdown.js (84%) rename Roo/bootstrap/{ => form}/MoneyField.js (97%) rename Roo/bootstrap/{ => form}/MonthField.js (80%) rename Roo/bootstrap/{ => form}/NumberField.js (92%) rename Roo/bootstrap/{ => form}/PhoneInput.js (96%) rename Roo/bootstrap/{ => form}/PhoneInputData.js (99%) rename Roo/bootstrap/{ => form}/Radio.js (86%) rename Roo/bootstrap/{ => form}/RadioSet.js (92%) rename Roo/bootstrap/{ => form}/SecurePass.js (94%) rename Roo/bootstrap/{ => form}/TextArea.js (97%) rename Roo/bootstrap/{ => form}/TimeField.js (94%) rename Roo/bootstrap/{ => form}/TriggerField.js (94%) create mode 100644 Roo/bootstrap/form/deprecated.js create mode 100644 Roo/bootstrap/form/namespace.js delete mode 100644 Roo/bootstrap/layout/layout-ns.js create mode 100644 Roo/bootstrap/layout/namespace.js rename Roo/bootstrap/{MenuMgr.js => menu/Manager.js} (95%) create mode 100644 Roo/bootstrap/menu/deprecated.js create mode 100644 Roo/bootstrap/menu/namespace.js rename Roo/bootstrap/{Navbar.js => nav/Bar.js} (94%) rename Roo/bootstrap/{NavGroup.js => nav/Group.js} (86%) rename Roo/bootstrap/{NavHeaderbar.js => nav/Headerbar.js} (90%) rename Roo/bootstrap/{NavItem.js => nav/Item.js} (94%) rename Roo/bootstrap/{NavProgressBar.js => nav/ProgressBar.js} (83%) rename Roo/bootstrap/{NavProgressItem.js => nav/ProgressBarItem.js} (88%) rename Roo/bootstrap/{NavSidebar.js => nav/Sidebar.js} (52%) rename Roo/bootstrap/{NavSidebarItem.js => nav/SidebarItem.js} (93%) rename Roo/bootstrap/{NavSimplebar.js => nav/Simplebar.js} (85%) create mode 100644 Roo/bootstrap/nav/deprecated.js create mode 100644 Roo/bootstrap/nav/namespace.js create mode 100644 Roo/bootstrap/panel/namespace.js delete mode 100644 Roo/bootstrap/panel/panel-ns.js create mode 100644 docs/src/Roo_LayoutDialog.js.html delete mode 100644 docs/src/Roo_bootstrap_CardImage.js.html delete mode 100644 docs/src/Roo_bootstrap_Menu.js.html delete mode 100644 docs/src/Roo_bootstrap_MenuItem.js.html delete mode 100644 docs/src/Roo_bootstrap_MenuSeparator.js.html delete mode 100644 docs/src/Roo_bootstrap_NavSidebar.js.html delete mode 100644 docs/src/Roo_bootstrap_Table_AbstractSelectionModel.js.html delete mode 100644 docs/src/Roo_bootstrap_Table_RowSelectionModel.js.html rename docs/src/{Roo_bootstrap_CardUploader.js.html => Roo_bootstrap_form_CardUploader.js.html} (96%) rename docs/src/{Roo_bootstrap_CheckBox.js.html => Roo_bootstrap_form_CheckBox.js.html} (95%) rename docs/src/{Roo_bootstrap_ComboBox.js.html => Roo_bootstrap_form_ComboBox.js.html} (98%) rename docs/src/{Roo_bootstrap_DateField.js.html => Roo_bootstrap_form_DateField.js.html} (94%) rename docs/src/{Roo_bootstrap_DateSplitField.js.html => Roo_bootstrap_form_DateSplitField.js.html} (96%) rename docs/src/{Roo_bootstrap_FieldLabel.js.html => Roo_bootstrap_form_FieldLabel.js.html} (93%) rename docs/src/{Roo_bootstrap_Form.js.html => Roo_bootstrap_form_Form.js.html} (98%) rename docs/src/{Roo_bootstrap_HtmlEditor.js.html => Roo_bootstrap_form_HtmlEditor.js.html} (93%) rename docs/src/{Roo_bootstrap_htmleditor_ToolbarStandard.js.html => Roo_bootstrap_form_HtmlEditorToolbarStandard.js.html} (94%) rename docs/src/{Roo_bootstrap_Input.js.html => Roo_bootstrap_form_Input.js.html} (98%) rename docs/src/{Roo_bootstrap_Markdown.js.html => Roo_bootstrap_form_Markdown.js.html} (87%) rename docs/src/{Roo_bootstrap_MoneyField.js.html => Roo_bootstrap_form_MoneyField.js.html} (98%) rename docs/src/{Roo_bootstrap_MonthField.js.html => Roo_bootstrap_form_MonthField.js.html} (86%) rename docs/src/{Roo_bootstrap_NumberField.js.html => Roo_bootstrap_form_NumberField.js.html} (93%) rename docs/src/{Roo_bootstrap_PhoneInput.js.html => Roo_bootstrap_form_PhoneInput.js.html} (97%) rename docs/src/{Roo_bootstrap_PhoneInputData.js.html => Roo_bootstrap_form_PhoneInputData.js.html} (99%) rename docs/src/{Roo_bootstrap_Radio.js.html => Roo_bootstrap_form_Radio.js.html} (85%) rename docs/src/{Roo_bootstrap_RadioSet.js.html => Roo_bootstrap_form_RadioSet.js.html} (95%) rename docs/src/{Roo_bootstrap_SecurePass.js.html => Roo_bootstrap_form_SecurePass.js.html} (94%) rename docs/src/{Roo_bootstrap_TextArea.js.html => Roo_bootstrap_form_TextArea.js.html} (97%) rename docs/src/{Roo_bootstrap_TimeField.js.html => Roo_bootstrap_form_TimeField.js.html} (95%) rename docs/src/{Roo_bootstrap_TriggerField.js.html => Roo_bootstrap_form_TriggerField.js.html} (95%) create mode 100644 docs/src/Roo_bootstrap_form_deprecated.js.html create mode 100644 docs/src/Roo_bootstrap_form_namespace.js.html delete mode 100644 docs/src/Roo_bootstrap_layout_layout-ns.js.html create mode 100644 docs/src/Roo_bootstrap_layout_namespace.js.html rename docs/src/{Roo_bootstrap_MenuMgr.js.html => Roo_bootstrap_menu_Manager.js.html} (97%) create mode 100644 docs/src/Roo_bootstrap_menu_deprecated.js.html create mode 100644 docs/src/Roo_bootstrap_menu_namespace.js.html rename docs/src/{Roo_bootstrap_Navbar.js.html => Roo_bootstrap_nav_Bar.js.html} (93%) rename docs/src/{Roo_bootstrap_NavGroup.js.html => Roo_bootstrap_nav_Group.js.html} (92%) rename docs/src/{Roo_bootstrap_NavHeaderbar.js.html => Roo_bootstrap_nav_Headerbar.js.html} (92%) rename docs/src/{Roo_bootstrap_NavItem.js.html => Roo_bootstrap_nav_Item.js.html} (95%) rename docs/src/{Roo_bootstrap_NavProgressBar.js.html => Roo_bootstrap_nav_ProgressBar.js.html} (90%) rename docs/src/{Roo_bootstrap_NavProgressItem.js.html => Roo_bootstrap_nav_ProgressBarItem.js.html} (90%) create mode 100644 docs/src/Roo_bootstrap_nav_Sidebar.js.html rename docs/src/{Roo_bootstrap_NavSidebarItem.js.html => Roo_bootstrap_nav_SidebarItem.js.html} (94%) rename docs/src/{Roo_bootstrap_NavSimplebar.js.html => Roo_bootstrap_nav_Simplebar.js.html} (87%) create mode 100644 docs/src/Roo_bootstrap_nav_deprecated.js.html create mode 100644 docs/src/Roo_bootstrap_nav_namespace.js.html create mode 100644 docs/src/Roo_bootstrap_panel_namespace.js.html delete mode 100644 docs/src/Roo_bootstrap_panel_panel-ns.js.html delete mode 100644 docs/symbols/Roo.bootstrap.CardImage.json delete mode 100644 docs/symbols/Roo.bootstrap.Menu.json delete mode 100644 docs/symbols/Roo.bootstrap.MenuItem.json delete mode 100644 docs/symbols/Roo.bootstrap.MenuSeparator.json delete mode 100644 docs/symbols/Roo.bootstrap.NavSidebar.json delete mode 100644 docs/symbols/Roo.bootstrap.Table.AbstractSelectionModel.json delete mode 100644 docs/symbols/Roo.bootstrap.Table.RowSelectionModel.json rename docs/symbols/{Roo.bootstrap.CardUploader.json => Roo.bootstrap.form.CardUploader.json} (81%) rename docs/symbols/{Roo.bootstrap.CheckBox.json => Roo.bootstrap.form.CheckBox.json} (79%) rename docs/symbols/{Roo.bootstrap.ComboBox.json => Roo.bootstrap.form.ComboBox.json} (79%) rename docs/symbols/{Roo.bootstrap.DateField.json => Roo.bootstrap.form.DateField.json} (79%) rename docs/symbols/{Roo.bootstrap.DateSplitField.json => Roo.bootstrap.form.DateSplitField.json} (81%) rename docs/symbols/{Roo.bootstrap.FieldLabel.json => Roo.bootstrap.form.FieldLabel.json} (81%) rename docs/symbols/{Roo.bootstrap.Form.json => Roo.bootstrap.form.Form.json} (78%) rename docs/symbols/{Roo.bootstrap.HtmlEditor.json => Roo.bootstrap.form.HtmlEditor.json} (79%) create mode 100644 docs/symbols/Roo.bootstrap.form.HtmlEditorToolbarStandard.json rename docs/symbols/{Roo.bootstrap.Input.json => Roo.bootstrap.form.Input.json} (79%) rename docs/symbols/{Roo.bootstrap.Markdown.json => Roo.bootstrap.form.Markdown.json} (79%) rename docs/symbols/{Roo.bootstrap.MoneyField.json => Roo.bootstrap.form.MoneyField.json} (78%) rename docs/symbols/{Roo.bootstrap.MonthField.json => Roo.bootstrap.form.MonthField.json} (79%) rename docs/symbols/{Roo.bootstrap.NumberField.json => Roo.bootstrap.form.NumberField.json} (79%) rename docs/symbols/{Roo.bootstrap.PhoneInput.json => Roo.bootstrap.form.PhoneInput.json} (79%) rename docs/symbols/{Roo.bootstrap.Radio.json => Roo.bootstrap.form.Radio.json} (83%) rename docs/symbols/{Roo.bootstrap.RadioSet.json => Roo.bootstrap.form.RadioSet.json} (79%) rename docs/symbols/{Roo.bootstrap.SecurePass.json => Roo.bootstrap.form.SecurePass.json} (80%) rename docs/symbols/{Roo.bootstrap.TextArea.json => Roo.bootstrap.form.TextArea.json} (79%) rename docs/symbols/{Roo.bootstrap.TimeField.json => Roo.bootstrap.form.TimeField.json} (79%) rename docs/symbols/{Roo.bootstrap.TriggerField.json => Roo.bootstrap.form.TriggerField.json} (78%) create mode 100644 docs/symbols/Roo.bootstrap.form.json delete mode 100644 docs/symbols/Roo.bootstrap.htmleditor.ToolbarStandard.json rename docs/symbols/{Roo.bootstrap.MenuMgr.json => Roo.bootstrap.menu.Manager.json} (70%) rename docs/symbols/{Roo.bootstrap.Navbar.json => Roo.bootstrap.nav.Bar.json} (81%) rename docs/symbols/{Roo.bootstrap.NavGroup.json => Roo.bootstrap.nav.Group.json} (81%) create mode 100644 docs/symbols/Roo.bootstrap.nav.Headerbar.json rename docs/symbols/{Roo.bootstrap.NavItem.json => Roo.bootstrap.nav.Item.json} (81%) rename docs/symbols/{Roo.bootstrap.NavProgressBar.json => Roo.bootstrap.nav.ProgressBar.json} (82%) rename docs/symbols/{Roo.bootstrap.NavProgressItem.json => Roo.bootstrap.nav.ProgressBarItem.json} (82%) rename docs/symbols/{Roo.bootstrap.NavHeaderbar.json => Roo.bootstrap.nav.Sidebar.json} (81%) rename docs/symbols/{Roo.bootstrap.NavSidebarItem.json => Roo.bootstrap.nav.SidebarItem.json} (80%) rename docs/symbols/{Roo.bootstrap.NavSimplebar.json => Roo.bootstrap.nav.Simplebar.json} (80%) rename docs/symbols/{Roo.bootstrap.htmleditor.json => Roo.bootstrap.nav.json} (53%) delete mode 100644 docs/symbols/Roo.dd.DragDropMgr.json delete mode 100644 docs/symbols/Roo.namespace.json diff --git a/Roo/BasicDialog.js b/Roo/BasicDialog.js index a4d6ab1e30..0070805873 100644 --- a/Roo/BasicDialog.js +++ b/Roo/BasicDialog.js @@ -1117,139 +1117,3 @@ Roo.DialogManager = function(){ } }; }(); - -/** - * @class Roo.LayoutDialog - * @extends Roo.BasicDialog - * Dialog which provides adjustments for working with a layout in a Dialog. - * Add your necessary layout config options to the dialog's config.
- * Example usage (including a nested layout): - *

-if(!dialog){
-    dialog = new Roo.LayoutDialog("download-dlg", {
-        modal: true,
-        width:600,
-        height:450,
-        shadow:true,
-        minWidth:500,
-        minHeight:350,
-        autoTabs:true,
-        proxyDrag:true,
-        // layout config merges with the dialog config
-        center:{
-            tabPosition: "top",
-            alwaysShowTabs: true
-        }
-    });
-    dialog.addKeyListener(27, dialog.hide, dialog);
-    dialog.setDefaultButton(dialog.addButton("Close", dialog.hide, dialog));
-    dialog.addButton("Build It!", this.getDownload, this);
-
-    // we can even add nested layouts
-    var innerLayout = new Roo.BorderLayout("dl-inner", {
-        east: {
-            initialSize: 200,
-            autoScroll:true,
-            split:true
-        },
-        center: {
-            autoScroll:true
-        }
-    });
-    innerLayout.beginUpdate();
-    innerLayout.add("east", new Roo.ContentPanel("dl-details"));
-    innerLayout.add("center", new Roo.ContentPanel("selection-panel"));
-    innerLayout.endUpdate(true);
-
-    var layout = dialog.getLayout();
-    layout.beginUpdate();
-    layout.add("center", new Roo.ContentPanel("standard-panel",
-                        {title: "Download the Source", fitToFrame:true}));
-    layout.add("center", new Roo.NestedLayoutPanel(innerLayout,
-               {title: "Build your own roo.js"}));
-    layout.getRegion("center").showPanel(sp);
-    layout.endUpdate();
-}
-
- * @constructor - * @param {String/HTMLElement/Roo.Element} el The id of or container element, or config - * @param {Object} config configuration options - */ -Roo.LayoutDialog = function(el, cfg){ - - var config= cfg; - if (typeof(cfg) == 'undefined') { - config = Roo.apply({}, el); - // not sure why we use documentElement here.. - it should always be body. - // IE7 borks horribly if we use documentElement. - // webkit also does not like documentElement - it creates a body element... - el = Roo.get( document.body || document.documentElement ).createChild(); - //config.autoCreate = true; - } - - - config.autoTabs = false; - Roo.LayoutDialog.superclass.constructor.call(this, el, config); - this.body.setStyle({overflow:"hidden", position:"relative"}); - this.layout = new Roo.BorderLayout(this.body.dom, config); - this.layout.monitorWindowResize = false; - this.el.addClass("x-dlg-auto-layout"); - // fix case when center region overwrites center function - this.center = Roo.BasicDialog.prototype.center; - this.on("show", this.layout.layout, this.layout, true); - if (config.items) { - var xitems = config.items; - delete config.items; - Roo.each(xitems, this.addxtype, this); - } - - -}; -Roo.extend(Roo.LayoutDialog, Roo.BasicDialog, { - /** - * Ends update of the layout and resets display to none. Use standard beginUpdate/endUpdate on the layout. - * @deprecated - */ - endUpdate : function(){ - this.layout.endUpdate(); - }, - - /** - * Begins an update of the layout and sets display to block and visibility to hidden. Use standard beginUpdate/endUpdate on the layout. - * @deprecated - */ - beginUpdate : function(){ - this.layout.beginUpdate(); - }, - - /** - * Get the BorderLayout for this dialog - * @return {Roo.BorderLayout} - */ - getLayout : function(){ - return this.layout; - }, - - showEl : function(){ - Roo.LayoutDialog.superclass.showEl.apply(this, arguments); - if(Roo.isIE7){ - this.layout.layout(); - } - }, - - // private - // Use the syncHeightBeforeShow config option to control this automatically - syncBodyHeight : function(){ - Roo.LayoutDialog.superclass.syncBodyHeight.call(this); - if(this.layout){this.layout.layout();} - }, - - /** - * Add an xtype element (actually adds to the layout.) - * @return {Object} xdata xtype object data. - */ - - addxtype : function(c) { - return this.layout.addxtype(c); - } -}); \ No newline at end of file diff --git a/Roo/BorderLayout.js b/Roo/BorderLayout.js index aeda210f7c..8228cedb34 100644 --- a/Roo/BorderLayout.js +++ b/Roo/BorderLayout.js @@ -11,6 +11,7 @@ /** * @class Roo.BorderLayout * @extends Roo.LayoutManager + * @children Roo.ContentPanel * This class represents a common layout manager used in desktop applications. For screenshots and more details, * please see:

* Cross Browser Layouts - Part 1
@@ -92,6 +93,22 @@ Roo.BorderLayout = function(container, config){ }; Roo.extend(Roo.BorderLayout, Roo.LayoutManager, { + + /** + * @cfg {Roo.LayoutRegion} east + */ + /** + * @cfg {Roo.LayoutRegion} west + */ + /** + * @cfg {Roo.LayoutRegion} north + */ + /** + * @cfg {Roo.LayoutRegion} south + */ + /** + * @cfg {Roo.LayoutRegion} center + */ /** * Creates and adds a new region if it doesn't already exist. * @param {String} target The target region key (north, south, east, west or center). diff --git a/Roo/Button.js b/Roo/Button.js index 65075e9e90..4d4ddf22d2 100644 --- a/Roo/Button.js +++ b/Roo/Button.js @@ -121,7 +121,7 @@ Roo.extend(Roo.Button, Roo.util.Observable, { */ enableToggle: false, /** - * @cfg {Mixed} menu + * @cfg {Roo.menu.Menu} menu * Standard menu attribute consisting of a reference to a menu object, a menu id or a menu config blob (defaults to undefined). */ menu : undefined, diff --git a/Roo/ContentPanel.js b/Roo/ContentPanel.js index ba8c4926c8..03270b3dd8 100644 --- a/Roo/ContentPanel.js +++ b/Roo/ContentPanel.js @@ -11,23 +11,26 @@ /** * @class Roo.ContentPanel * @extends Roo.util.Observable + * @children Roo.form.Form Roo.JsonView Roo.View + * @builder-top * A basic ContentPanel element. * @cfg {Boolean} fitToFrame True for this panel to adjust its size to fit when the region resizes (defaults to false) * @cfg {Boolean} fitContainer When using {@link #fitToFrame} and {@link #resizeEl}, you can also fit the parent container (defaults to false) - * @cfg {Boolean/Object} autoCreate True to auto generate the DOM element for this panel, or a {@link Roo.DomHelper} config of the element to create + * @cfg {Boolean|Object} autoCreate True to auto generate the DOM element for this panel, or a {@link Roo.DomHelper} config of the element to create * @cfg {Boolean} closable True if the panel can be closed/removed * @cfg {Boolean} background True if the panel should not be activated when it is added (defaults to false) - * @cfg {String/HTMLElement/Element} resizeEl An element to resize if {@link #fitToFrame} is true (instead of this panel's element) - * @cfg {Toolbar} toolbar A toolbar for this panel + * @cfg {String|HTMLElement|Element} resizeEl An element to resize if {@link #fitToFrame} is true (instead of this panel's element) + * @cfg {Roo.Toolbar} toolbar A toolbar for this panel * @cfg {Boolean} autoScroll True to scroll overflow in this panel (use with {@link #fitToFrame}) * @cfg {String} title The title for this panel * @cfg {Array} adjustments Values to add to the width/height when doing a {@link #fitToFrame} (default is [0, 0]) * @cfg {String} url Calls {@link #setUrl} with this value - * @cfg {String} region (center|north|south|east|west) which region to put this panel on (when used with xtype constructors) - * @cfg {String/Object} params When used with {@link #url}, calls {@link #setUrl} with this value + * @cfg {String} region [required] (center|north|south|east|west) which region to put this panel on (when used with xtype constructors) + * @cfg {String|Object} params When used with {@link #url}, calls {@link #setUrl} with this value * @cfg {Boolean} loadOnce When used with {@link #url}, calls {@link #setUrl} with this value * @cfg {String} content Raw content to fill content panel with (uses setContent on construction.) - * @cfg {String} style Extra style to add to the content panel + * @cfg {String} style Extra style to add to the content panel + * @cfg {Roo.menu.Menu} menu popup menu * @constructor * Create a new ContentPanel. @@ -539,7 +542,7 @@ Roo.extend(Roo.GridPanel, Roo.ContentPanel, { * Create a new NestedLayoutPanel. * * - * @param {Roo.BorderLayout} layout The layout for this panel + * @param {Roo.BorderLayout} layout [required] The layout for this panel * @param {String/Object} config A string to set only the title or a config object */ Roo.NestedLayoutPanel = function(layout, config) @@ -772,7 +775,7 @@ Roo.extend(Roo.TreePanel, Roo.ContentPanel, { fitToFrame : true, autoScroll : true, /* - * @cfg {Roo.tree.TreePanel} tree The tree TreePanel, with config etc. + * @cfg {Roo.tree.TreePanel} tree [required] The tree TreePanel, with config etc. */ tree : false diff --git a/Roo/DomHelper.js b/Roo/DomHelper.js index fa5e39724e..194a6c4913 100644 --- a/Roo/DomHelper.js +++ b/Roo/DomHelper.js @@ -166,7 +166,7 @@ Roo.DomHelper = function(){ var ieTable = function(depth, s, h, e){ tempTableEl.innerHTML = [s, h, e].join(''); var i = -1, el = tempTableEl; - while(++i < depth){ + while(++i < depth && el.firstChild){ el = el.firstChild; } return el; diff --git a/Roo/LayoutDialog.js b/Roo/LayoutDialog.js new file mode 100644 index 0000000000..8433c54b9d --- /dev/null +++ b/Roo/LayoutDialog.js @@ -0,0 +1,160 @@ + +/** + * @class Roo.LayoutDialog + * @extends Roo.BasicDialog + * @children Roo.ContentPanel + * @builder-top + * Dialog which provides adjustments for working with a layout in a Dialog. + * Add your necessary layout config options to the dialog's config.
+ * Example usage (including a nested layout): + *

+if(!dialog){
+    dialog = new Roo.LayoutDialog("download-dlg", {
+        modal: true,
+        width:600,
+        height:450,
+        shadow:true,
+        minWidth:500,
+        minHeight:350,
+        autoTabs:true,
+        proxyDrag:true,
+        // layout config merges with the dialog config
+        center:{
+            tabPosition: "top",
+            alwaysShowTabs: true
+        }
+    });
+    dialog.addKeyListener(27, dialog.hide, dialog);
+    dialog.setDefaultButton(dialog.addButton("Close", dialog.hide, dialog));
+    dialog.addButton("Build It!", this.getDownload, this);
+
+    // we can even add nested layouts
+    var innerLayout = new Roo.BorderLayout("dl-inner", {
+        east: {
+            initialSize: 200,
+            autoScroll:true,
+            split:true
+        },
+        center: {
+            autoScroll:true
+        }
+    });
+    innerLayout.beginUpdate();
+    innerLayout.add("east", new Roo.ContentPanel("dl-details"));
+    innerLayout.add("center", new Roo.ContentPanel("selection-panel"));
+    innerLayout.endUpdate(true);
+
+    var layout = dialog.getLayout();
+    layout.beginUpdate();
+    layout.add("center", new Roo.ContentPanel("standard-panel",
+                        {title: "Download the Source", fitToFrame:true}));
+    layout.add("center", new Roo.NestedLayoutPanel(innerLayout,
+               {title: "Build your own roo.js"}));
+    layout.getRegion("center").showPanel(sp);
+    layout.endUpdate();
+}
+
+ * @constructor + * @param {String/HTMLElement/Roo.Element} el The id of or container element, or config + * @param {Object} config configuration options + */ +Roo.LayoutDialog = function(el, cfg){ + + var config= cfg; + if (typeof(cfg) == 'undefined') { + config = Roo.apply({}, el); + // not sure why we use documentElement here.. - it should always be body. + // IE7 borks horribly if we use documentElement. + // webkit also does not like documentElement - it creates a body element... + el = Roo.get( document.body || document.documentElement ).createChild(); + //config.autoCreate = true; + } + + + config.autoTabs = false; + Roo.LayoutDialog.superclass.constructor.call(this, el, config); + this.body.setStyle({overflow:"hidden", position:"relative"}); + this.layout = new Roo.BorderLayout(this.body.dom, config); + this.layout.monitorWindowResize = false; + this.el.addClass("x-dlg-auto-layout"); + // fix case when center region overwrites center function + this.center = Roo.BasicDialog.prototype.center; + this.on("show", this.layout.layout, this.layout, true); + if (config.items) { + var xitems = config.items; + delete config.items; + Roo.each(xitems, this.addxtype, this); + } + + +}; +Roo.extend(Roo.LayoutDialog, Roo.BasicDialog, { + + + /** + * @cfg {Roo.LayoutRegion} east + */ + /** + * @cfg {Roo.LayoutRegion} west + */ + /** + * @cfg {Roo.LayoutRegion} south + */ + /** + * @cfg {Roo.LayoutRegion} north + */ + /** + * @cfg {Roo.LayoutRegion} center + */ + /** + * @cfg {Roo.Button} buttons[] Bottom buttons.. + */ + + + /** + * Ends update of the layout and resets display to none. Use standard beginUpdate/endUpdate on the layout. + * @deprecated + */ + endUpdate : function(){ + this.layout.endUpdate(); + }, + + /** + * Begins an update of the layout and sets display to block and visibility to hidden. Use standard beginUpdate/endUpdate on the layout. + * @deprecated + */ + beginUpdate : function(){ + this.layout.beginUpdate(); + }, + + /** + * Get the BorderLayout for this dialog + * @return {Roo.BorderLayout} + */ + getLayout : function(){ + return this.layout; + }, + + showEl : function(){ + Roo.LayoutDialog.superclass.showEl.apply(this, arguments); + if(Roo.isIE7){ + this.layout.layout(); + } + }, + + // private + // Use the syncHeightBeforeShow config option to control this automatically + syncBodyHeight : function(){ + Roo.LayoutDialog.superclass.syncBodyHeight.call(this); + if(this.layout){this.layout.layout();} + }, + + /** + * Add an xtype element (actually adds to the layout.) + * @return {Object} xdata xtype object data. + */ + + addxtype : function(c) { + return this.layout.addxtype(c); + } +}); \ No newline at end of file diff --git a/Roo/PagingToolbar.js b/Roo/PagingToolbar.js index dd1f615eda..9b0d7ec9fc 100644 --- a/Roo/PagingToolbar.js +++ b/Roo/PagingToolbar.js @@ -12,6 +12,7 @@ /** * @class Roo.PagingToolbar * @extends Roo.Toolbar + * @children Roo.Toolbar.Item Roo.form.Field * A specialized toolbar that is bound to a {@link Roo.data.Store} and provides automatic paging controls. * @constructor * Create a new PagingToolbar @@ -47,10 +48,7 @@ Roo.PagingToolbar = function(el, ds, config) }; Roo.extend(Roo.PagingToolbar, Roo.Toolbar, { - /** - * @cfg {Roo.data.Store} dataSource - * The underlying data store providing the paged data - */ + /** * @cfg {String/HTMLElement/Element} container * container The id or element that will contain the toolbar @@ -59,6 +57,8 @@ Roo.extend(Roo.PagingToolbar, Roo.Toolbar, { * @cfg {Boolean} displayInfo * True to display the displayMsg (defaults to false) */ + + /** * @cfg {Number} pageSize * The number of records to display per page (defaults to 20) diff --git a/Roo/Toolbar.js b/Roo/Toolbar.js index b59d354129..05edb0199f 100644 --- a/Roo/Toolbar.js +++ b/Roo/Toolbar.js @@ -11,6 +11,7 @@ /** * @class Roo.Toolbar + * @children Roo.Toolbar.Item Roo.form.Field * Basic Toolbar class. * @constructor * Creates a new Toolbar @@ -560,7 +561,10 @@ Roo.extend(Roo.Toolbar.TextItem, Roo.Toolbar.Item, { Roo.Toolbar.Button = function(config){ Roo.Toolbar.Button.superclass.constructor.call(this, null, config); }; -Roo.extend(Roo.Toolbar.Button, Roo.Button, { +Roo.extend(Roo.Toolbar.Button, Roo.Button, +{ + + render : function(td){ this.td = td; Roo.Toolbar.Button.superclass.render.call(this, td); diff --git a/Roo/bootstrap/Body.js b/Roo/bootstrap/Body.js index 914481ded4..ef4c9c1299 100644 --- a/Roo/bootstrap/Body.js +++ b/Roo/bootstrap/Body.js @@ -8,6 +8,9 @@ /** * @class Roo.bootstrap.Body * @extends Roo.bootstrap.Component + * @builder-top + * @children Roo.bootstrap.Component + * @parent none * Bootstrap Body class * * @constructor diff --git a/Roo/bootstrap/Button.js b/Roo/bootstrap/Button.js index feb0fdb1a5..e35ceabc1f 100644 --- a/Roo/bootstrap/Button.js +++ b/Roo/bootstrap/Button.js @@ -31,7 +31,8 @@ * @cfg {Boolean} removeClass remove the standard class.. * @cfg {String} target (_self|_blank|_parent|_top|other) target for a href. * @cfg {Boolean} grpup if parent is a btn group - then it turns it into a toogleGroup. - * + * @cfg {Roo.bootstrap.menu.Menu} menu a Menu + * @constructor * Create a new button * @param {Object} config The config object diff --git a/Roo/bootstrap/ButtonGroup.js b/Roo/bootstrap/ButtonGroup.js index 4c50892943..e45cc9d20f 100644 --- a/Roo/bootstrap/ButtonGroup.js +++ b/Roo/bootstrap/ButtonGroup.js @@ -10,6 +10,8 @@ * @class Roo.bootstrap.ButtonGroup * @extends Roo.bootstrap.Component * Bootstrap ButtonGroup class + * @children Roo.bootstrap.Button Roo.bootstrap.form.Form + * * @cfg {String} size lg | sm | xs (default empty normal) * @cfg {String} align vertical | justified (default none) * @cfg {String} direction up | down (default down) diff --git a/Roo/bootstrap/Calendar.js b/Roo/bootstrap/Calendar.js index 36afb89102..e82ac32401 100644 --- a/Roo/bootstrap/Calendar.js +++ b/Roo/bootstrap/Calendar.js @@ -65,6 +65,11 @@ Roo.bootstrap.Calendar = function(config){ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component, { + /** + * @cfg {Roo.data.Store} store + * The data source for the calendar + */ + store : false, /** * @cfg {Number} startDay * Day index at which the week should begin, 0-based (defaults to 0, which is Sunday) diff --git a/Roo/bootstrap/Card.js b/Roo/bootstrap/Card.js index 6c1804f17d..330aad2ee8 100644 --- a/Roo/bootstrap/Card.js +++ b/Roo/bootstrap/Card.js @@ -1,13 +1,9 @@ -/* - * - LGPL - * - * This is BS4's Card element.. - similar to our containers probably.. - * - */ /** * @class Roo.bootstrap.Card * @extends Roo.bootstrap.Component - * Bootstrap Card class + * @children Roo.bootstrap.Component + * @licence LGPL + * Bootstrap Card class - note this has children as CardHeader/ImageTop/Footer.. - which should really be listed properties? * * * possible... may not be implemented.. diff --git a/Roo/bootstrap/CardFooter.js b/Roo/bootstrap/CardFooter.js index bc4d28872e..eebe8cede4 100644 --- a/Roo/bootstrap/CardFooter.js +++ b/Roo/bootstrap/CardFooter.js @@ -8,7 +8,10 @@ /** * @class Roo.bootstrap.CardFooter * @extends Roo.bootstrap.Element + * @parent Roo.bootstrap.Card + * @children Roo.bootstrap.Component * Bootstrap CardFooter class + * * @constructor * Create a new Card Footer - that you can embed children into * @param {Object} config The config object diff --git a/Roo/bootstrap/CardHeader.js b/Roo/bootstrap/CardHeader.js index a0b8725220..883eb045dd 100644 --- a/Roo/bootstrap/CardHeader.js +++ b/Roo/bootstrap/CardHeader.js @@ -8,6 +8,8 @@ /** * @class Roo.bootstrap.CardHeader * @extends Roo.bootstrap.Element + * @parent Roo.bootstrap.Card + * @children Roo.bootstrap.Component * Bootstrap CardHeader class * @constructor * Create a new Card Header - that you can embed children into diff --git a/Roo/bootstrap/CardImageTop.js b/Roo/bootstrap/CardImageTop.js index 0bb3fb49e1..46cfb1f20d 100644 --- a/Roo/bootstrap/CardImageTop.js +++ b/Roo/bootstrap/CardImageTop.js @@ -8,7 +8,10 @@ /** * @class Roo.bootstrap.CardImageTop * @extends Roo.bootstrap.Element + * @parent Roo.bootstrap.Card + * @children Roo.bootstrap.Component * Bootstrap CardImageTop class + * * @constructor * Create a new Card Image Top container * @param {Object} config The config object diff --git a/Roo/bootstrap/Column.js b/Roo/bootstrap/Column.js index 7688cf8c7f..63d30c4723 100644 --- a/Roo/bootstrap/Column.js +++ b/Roo/bootstrap/Column.js @@ -8,6 +8,7 @@ /** * @class Roo.bootstrap.Column * @extends Roo.bootstrap.Component + * @children Roo.bootstrap.Component * Bootstrap Column class * @cfg {Number} xs colspan out of 12 for mobile-sized screens or 0 for hidden * @cfg {Number} sm colspan out of 12 for tablet-sized screens or 0 for hidden diff --git a/Roo/bootstrap/Component.js b/Roo/bootstrap/Component.js index d2632d5a74..3279787574 100644 --- a/Roo/bootstrap/Component.js +++ b/Roo/bootstrap/Component.js @@ -9,6 +9,8 @@ Roo.bootstrap = Roo.bootstrap || {}; /** * @class Roo.bootstrap.Component * @extends Roo.Component + * @abstract + * @children Roo.bootstrap.Component * Bootstrap Component base class * @cfg {String} cls css class * @cfg {String} style any extra css diff --git a/Roo/bootstrap/Container.js b/Roo/bootstrap/Container.js index 99cab3ba96..250df0c6e1 100644 --- a/Roo/bootstrap/Container.js +++ b/Roo/bootstrap/Container.js @@ -9,6 +9,8 @@ /** * @class Roo.bootstrap.Container * @extends Roo.bootstrap.Component + * @builder-top + * @children Roo.bootstrap.Component * Bootstrap Container class * @cfg {Boolean} jumbotron is it a jumbotron element * @cfg {String} html content of element diff --git a/Roo/bootstrap/Element.js b/Roo/bootstrap/Element.js index bd6151e31e..4a4b58e0b8 100644 --- a/Roo/bootstrap/Element.js +++ b/Roo/bootstrap/Element.js @@ -8,7 +8,9 @@ /** * @class Roo.bootstrap.Element * @extends Roo.bootstrap.Component - * Bootstrap Element class + * @children Roo.bootstrap.Component + * Bootstrap Element class (basically a DIV used to make random stuff ) + * * @cfg {String} html contents of the element * @cfg {String} tag tag of the element * @cfg {String} cls class of the element diff --git a/Roo/bootstrap/Header.js b/Roo/bootstrap/Header.js index 9bd515a39d..5b8de6df40 100644 --- a/Roo/bootstrap/Header.js +++ b/Roo/bootstrap/Header.js @@ -8,7 +8,10 @@ /** * @class Roo.bootstrap.Header * @extends Roo.bootstrap.Component + * @children Roo.bootstrap.Component * Bootstrap Header class + * + * * @cfg {String} html content of header * @cfg {Number} level (1|2|3|4|5|6) default 1 * diff --git a/Roo/bootstrap/LayoutMasonry.js b/Roo/bootstrap/LayoutMasonry.js index 7864971314..b3a5ee6915 100644 --- a/Roo/bootstrap/LayoutMasonry.js +++ b/Roo/bootstrap/LayoutMasonry.js @@ -1,4 +1,10 @@ + + /** + * @class Roo.bootstrap.LayoutMasonry + * @extends Roo.bootstrap.Component + * @children Roo.bootstrap.Element Roo.bootstrap.Img Roo.bootstrap.MasonryBrick + * Bootstrap Layout Masonry class * * This is based on * http://masonry.desandro.com @@ -6,15 +12,7 @@ * The idea is to render all the bricks based on vertical width... * * The original code extends 'outlayer' - we might need to use that.... - * - */ - -/** - * @class Roo.bootstrap.LayoutMasonry - * @extends Roo.bootstrap.Component - * Bootstrap Layout Masonry class - * * @constructor * Create a new Element * @param {Object} config The config object diff --git a/Roo/bootstrap/Link.js b/Roo/bootstrap/Link.js index 13c17db245..aebb2d7ccc 100644 --- a/Roo/bootstrap/Link.js +++ b/Roo/bootstrap/Link.js @@ -9,7 +9,9 @@ /** * @class Roo.bootstrap.Link * @extends Roo.bootstrap.Component - * Bootstrap Link Class + * @children Roo.bootstrap.Component + * Bootstrap Link Class (eg. '') + * @cfg {String} alt image alternative text * @cfg {String} href a tag href * @cfg {String} target (_self|_blank|_parent|_top) target for a href. diff --git a/Roo/bootstrap/Menu.js b/Roo/bootstrap/Menu.js deleted file mode 100644 index e5fa5cf2d7..0000000000 --- a/Roo/bootstrap/Menu.js +++ /dev/null @@ -1,480 +0,0 @@ -/* - * - LGPL - * - * menu - * - */ - -/** - * @class Roo.bootstrap.Menu - * @extends Roo.bootstrap.Component - * Bootstrap Menu class - container for MenuItems - * @cfg {String} type (dropdown|treeview|submenu) type of menu - * @cfg {bool} hidden if the menu should be hidden when rendered. - * @cfg {bool} stopEvent (true|false) Stop event after trigger press (default true) - * @cfg {bool} isLink (true|false) the menu has link disable auto expand and collaspe (default false) - * @cfg {bool} hideTrigger (true|false) default false - hide the carret for trigger. - * @cfg {String} align default tl-bl? == below - how the menu should be aligned. - - * @constructor - * Create a new Menu - * @param {Object} config The config object - */ - - -Roo.bootstrap.Menu = function(config){ - - if (config.type == 'treeview') { - // normally menu's are drawn attached to the document to handle layering etc.. - // however treeview (used by the docs menu is drawn into the parent element) - this.container_method = 'getChildContainer'; - } - - Roo.bootstrap.Menu.superclass.constructor.call(this, config); - if (this.registerMenu && this.type != 'treeview') { - Roo.bootstrap.MenuMgr.register(this); - } - - - this.addEvents({ - /** - * @event beforeshow - * Fires before this menu is displayed (return false to block) - * @param {Roo.menu.Menu} this - */ - beforeshow : true, - /** - * @event beforehide - * Fires before this menu is hidden (return false to block) - * @param {Roo.menu.Menu} this - */ - beforehide : true, - /** - * @event show - * Fires after this menu is displayed - * @param {Roo.menu.Menu} this - */ - show : true, - /** - * @event hide - * Fires after this menu is hidden - * @param {Roo.menu.Menu} this - */ - hide : true, - /** - * @event click - * Fires when this menu is clicked (or when the enter key is pressed while it is active) - * @param {Roo.menu.Menu} this - * @param {Roo.menu.Item} menuItem The menu item that was clicked - * @param {Roo.EventObject} e - */ - click : true, - /** - * @event mouseover - * Fires when the mouse is hovering over this menu - * @param {Roo.menu.Menu} this - * @param {Roo.EventObject} e - * @param {Roo.menu.Item} menuItem The menu item that was clicked - */ - mouseover : true, - /** - * @event mouseout - * Fires when the mouse exits this menu - * @param {Roo.menu.Menu} this - * @param {Roo.EventObject} e - * @param {Roo.menu.Item} menuItem The menu item that was clicked - */ - mouseout : true, - /** - * @event itemclick - * Fires when a menu item contained in this menu is clicked - * @param {Roo.menu.BaseItem} baseItem The BaseItem that was clicked - * @param {Roo.EventObject} e - */ - itemclick: true - }); - this.menuitems = new Roo.util.MixedCollection(false, function(o) { return o.el.id; }); -}; - -Roo.extend(Roo.bootstrap.Menu, Roo.bootstrap.Component, { - - /// html : false, - - triggerEl : false, // is this set by component builder? -- it should really be fetched from parent()??? - type: false, - /** - * @cfg {Boolean} registerMenu True (default) - means that clicking on screen etc. hides it. - */ - registerMenu : true, - - menuItems :false, // stores the menu items.. - - hidden:true, - - parentMenu : false, - - stopEvent : true, - - isLink : false, - - container_method : 'getDocumentBody', // so the menu is rendered on the body and zIndex works. - - hideTrigger : false, - - align : 'tl-bl?', - - - getChildContainer : function() { - return this.el; - }, - - getAutoCreate : function(){ - - //if (['right'].indexOf(this.align)!==-1) { - // cfg.cn[1].cls += ' pull-right' - //} - - var cfg = { - tag : 'ul', - cls : 'dropdown-menu shadow' , - style : 'z-index:1000' - - }; - - if (this.type === 'submenu') { - cfg.cls = 'submenu active'; - } - if (this.type === 'treeview') { - cfg.cls = 'treeview-menu'; - } - - return cfg; - }, - initEvents : function() { - - // Roo.log("ADD event"); - // Roo.log(this.triggerEl.dom); - if (this.triggerEl) { - - this.triggerEl.on('click', this.onTriggerClick, this); - - this.triggerEl.on(Roo.isTouch ? 'touchstart' : 'mouseup', this.onTriggerPress, this); - - if (!this.hideTrigger) { - if (this.triggerEl.hasClass('nav-item') && this.triggerEl.select('.nav-link',true).length) { - // dropdown toggle on the 'a' in BS4? - this.triggerEl.select('.nav-link',true).first().addClass('dropdown-toggle'); - } else { - this.triggerEl.addClass('dropdown-toggle'); - } - } - } - - if (Roo.isTouch) { - this.el.on('touchstart' , this.onTouch, this); - } - this.el.on('click' , this.onClick, this); - - this.el.on("mouseover", this.onMouseOver, this); - this.el.on("mouseout", this.onMouseOut, this); - - }, - - findTargetItem : function(e) - { - var t = e.getTarget(".dropdown-menu-item", this.el, true); - if(!t){ - return false; - } - //Roo.log(t); Roo.log(t.id); - if(t && t.id){ - //Roo.log(this.menuitems); - return this.menuitems.get(t.id); - - //return this.items.get(t.menuItemId); - } - - return false; - }, - - onTouch : function(e) - { - Roo.log("menu.onTouch"); - //e.stopEvent(); this make the user popdown broken - this.onClick(e); - }, - - onClick : function(e) - { - Roo.log("menu.onClick"); - - var t = this.findTargetItem(e); - if(!t || t.isContainer){ - return; - } - Roo.log(e); - /* - if (Roo.isTouch && e.type == 'touchstart' && t.menu && !t.disabled) { - if(t == this.activeItem && t.shouldDeactivate(e)){ - this.activeItem.deactivate(); - delete this.activeItem; - return; - } - if(t.canActivate){ - this.setActiveItem(t, true); - } - return; - - - } - */ - - Roo.log('pass click event'); - - t.onClick(e); - - this.fireEvent("click", this, t, e); - - var _this = this; - - if(!t.href.length || t.href == '#'){ - (function() { _this.hide(); }).defer(100); - } - - }, - - onMouseOver : function(e){ - var t = this.findTargetItem(e); - //Roo.log(t); - //if(t){ - // if(t.canActivate && !t.disabled){ - // this.setActiveItem(t, true); - // } - //} - - this.fireEvent("mouseover", this, e, t); - }, - isVisible : function(){ - return !this.hidden; - }, - onMouseOut : function(e){ - var t = this.findTargetItem(e); - - //if(t ){ - // if(t == this.activeItem && t.shouldDeactivate(e)){ - // this.activeItem.deactivate(); - // delete this.activeItem; - // } - //} - this.fireEvent("mouseout", this, e, t); - }, - - - /** - * Displays this menu relative to another element - * @param {String/HTMLElement/Roo.Element} element The element to align to - * @param {String} position (optional) The {@link Roo.Element#alignTo} anchor position to use in aligning to - * the element (defaults to this.defaultAlign) - * @param {Roo.menu.Menu} parentMenu (optional) This menu's parent menu, if applicable (defaults to undefined) - */ - show : function(el, pos, parentMenu) - { - if (false === this.fireEvent("beforeshow", this)) { - Roo.log("show canceled"); - return; - } - this.parentMenu = parentMenu; - if(!this.el){ - this.render(); - } - this.el.addClass('show'); // show otherwise we do not know how big we are.. - - var xy = this.el.getAlignToXY(el, pos); - - // bl-tl << left align below - // tl-bl << left align - - if(this.el.getWidth() + xy[0] >= Roo.lib.Dom.getViewWidth()){ - // if it goes to far to the right.. -> align left. - xy = this.el.getAlignToXY(el, this.align.replace('/l/g', 'r')) - } - if(xy[0] < 0){ - // was left align - go right? - xy = this.el.getAlignToXY(el, this.align.replace('/r/g', 'l')) - } - - // goes down the bottom - if(this.el.getHeight() + xy[1] >= Roo.lib.Dom.getViewHeight() || - xy[1] < 0 ){ - var a = this.align.replace('?', '').split('-'); - xy = this.el.getAlignToXY(el, a[1] + '-' + a[0] + '?') - - } - - this.showAt( xy , parentMenu, false); - }, - /** - * Displays this menu at a specific xy position - * @param {Array} xyPosition Contains X & Y [x, y] values for the position at which to show the menu (coordinates are page-based) - * @param {Roo.menu.Menu} parentMenu (optional) This menu's parent menu, if applicable (defaults to undefined) - */ - showAt : function(xy, parentMenu, /* private: */_e){ - this.parentMenu = parentMenu; - if(!this.el){ - this.render(); - } - if(_e !== false){ - this.fireEvent("beforeshow", this); - //xy = this.el.adjustForConstraints(xy); - } - - //this.el.show(); - this.hideMenuItems(); - this.hidden = false; - if (this.triggerEl) { - this.triggerEl.addClass('open'); - } - - this.el.addClass('show'); - - - - // reassign x when hitting right - - // reassign y when hitting bottom - - // but the list may align on trigger left or trigger top... should it be a properity? - - if(this.el.getStyle('top') != 'auto' && this.el.getStyle('top').slice(-1) != "%"){ - this.el.setXY(xy); - } - - this.focus(); - this.fireEvent("show", this); - }, - - focus : function(){ - return; - if(!this.hidden){ - this.doFocus.defer(50, this); - } - }, - - doFocus : function(){ - if(!this.hidden){ - this.focusEl.focus(); - } - }, - - /** - * Hides this menu and optionally all parent menus - * @param {Boolean} deep (optional) True to hide all parent menus recursively, if any (defaults to false) - */ - hide : function(deep) - { - if (false === this.fireEvent("beforehide", this)) { - Roo.log("hide canceled"); - return; - } - this.hideMenuItems(); - if(this.el && this.isVisible()){ - - if(this.activeItem){ - this.activeItem.deactivate(); - this.activeItem = null; - } - if (this.triggerEl) { - this.triggerEl.removeClass('open'); - } - - this.el.removeClass('show'); - this.hidden = true; - this.fireEvent("hide", this); - } - if(deep === true && this.parentMenu){ - this.parentMenu.hide(true); - } - }, - - onTriggerClick : function(e) - { - Roo.log('trigger click'); - - var target = e.getTarget(); - - Roo.log(target.nodeName.toLowerCase()); - - if(target.nodeName.toLowerCase() === 'i'){ - e.preventDefault(); - } - - }, - - onTriggerPress : function(e) - { - Roo.log('trigger press'); - //Roo.log(e.getTarget()); - // Roo.log(this.triggerEl.dom); - - // trigger only occurs on normal menu's -- if it's a treeview or dropdown... do not hide/show.. - var pel = Roo.get(e.getTarget()); - if (pel.findParent('.dropdown-menu') || pel.findParent('.treeview-menu') ) { - Roo.log('is treeview or dropdown?'); - return; - } - - if(e.getTarget().nodeName.toLowerCase() !== 'i' && this.isLink){ - return; - } - - if (this.isVisible()) { - Roo.log('hide'); - this.hide(); - } else { - Roo.log('show'); - - this.show(this.triggerEl, this.align, false); - } - - if(this.stopEvent || e.getTarget().nodeName.toLowerCase() === 'i'){ - e.stopEvent(); - } - - }, - - - hideMenuItems : function() - { - Roo.log("hide Menu Items"); - if (!this.el) { - return; - } - - this.el.select('.open',true).each(function(aa) { - - aa.removeClass('open'); - - }); - }, - addxtypeChild : function (tree, cntr) { - var comp= Roo.bootstrap.Menu.superclass.addxtypeChild.call(this, tree, cntr); - - this.menuitems.add(comp); - return comp; - - }, - getEl : function() - { - Roo.log(this.el); - return this.el; - }, - - clear : function() - { - this.getEl().dom.innerHTML = ''; - this.menuitems.clear(); - } -}); - - - \ No newline at end of file diff --git a/Roo/bootstrap/MenuItem.js b/Roo/bootstrap/MenuItem.js deleted file mode 100644 index cd2035e649..0000000000 --- a/Roo/bootstrap/MenuItem.js +++ /dev/null @@ -1,132 +0,0 @@ -/* - * - LGPL - * - * menu item - * - */ - - -/** - * @class Roo.bootstrap.MenuItem - * @extends Roo.bootstrap.Component - * Bootstrap MenuItem class - * @cfg {String} html the menu label - * @cfg {String} href the link - * @cfg {Boolean} preventDefault do not trigger A href on clicks (default false). - * @cfg {Boolean} isContainer is it a container - just returns a drop down item.. - * @cfg {Boolean} active used on sidebars to highlight active itesm - * @cfg {String} fa favicon to show on left of menu item. - * @cfg {Roo.bootsrap.Menu} menu the child menu. - * - * - * @constructor - * Create a new MenuItem - * @param {Object} config The config object - */ - - -Roo.bootstrap.MenuItem = function(config){ - Roo.bootstrap.MenuItem.superclass.constructor.call(this, config); - this.addEvents({ - // raw events - /** - * @event click - * The raw click event for the entire grid. - * @param {Roo.bootstrap.MenuItem} this - * @param {Roo.EventObject} e - */ - "click" : true - }); -}; - -Roo.extend(Roo.bootstrap.MenuItem, Roo.bootstrap.Component, { - - href : false, - html : false, - preventDefault: false, - isContainer : false, - active : false, - fa: false, - - getAutoCreate : function(){ - - if(this.isContainer){ - return { - tag: 'li', - cls: 'dropdown-menu-item ' - }; - } - var ctag = { - tag: 'span', - html: 'Link' - }; - - var anc = { - tag : 'a', - cls : 'dropdown-item', - href : '#', - cn : [ ] - }; - - if (this.fa !== false) { - anc.cn.push({ - tag : 'i', - cls : 'fa fa-' + this.fa - }); - } - - anc.cn.push(ctag); - - - var cfg= { - tag: 'li', - cls: 'dropdown-menu-item', - cn: [ anc ] - }; - if (this.parent().type == 'treeview') { - cfg.cls = 'treeview-menu'; - } - if (this.active) { - cfg.cls += ' active'; - } - - - - anc.href = this.href || cfg.cn[0].href ; - ctag.html = this.html || cfg.cn[0].html ; - return cfg; - }, - - initEvents: function() - { - if (this.parent().type == 'treeview') { - this.el.select('a').on('click', this.onClick, this); - } - - if (this.menu) { - this.menu.parentType = this.xtype; - this.menu.triggerEl = this.el; - this.menu = this.addxtype(Roo.apply({}, this.menu)); - } - - }, - onClick : function(e) - { - Roo.log('item on click '); - - if(this.preventDefault){ - e.preventDefault(); - } - //this.parent().hideMenuItems(); - - this.fireEvent('click', this, e); - }, - getEl : function() - { - return this.el; - } -}); - - - - \ No newline at end of file diff --git a/Roo/bootstrap/MenuSeparator.js b/Roo/bootstrap/MenuSeparator.js deleted file mode 100644 index d7d8141a4f..0000000000 --- a/Roo/bootstrap/MenuSeparator.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * - LGPL - * - * menu separator - * - */ - - -/** - * @class Roo.bootstrap.MenuSeparator - * @extends Roo.bootstrap.Component - * Bootstrap MenuSeparator class - * - * @constructor - * Create a new MenuItem - * @param {Object} config The config object - */ - - -Roo.bootstrap.MenuSeparator = function(config){ - Roo.bootstrap.MenuSeparator.superclass.constructor.call(this, config); -}; - -Roo.extend(Roo.bootstrap.MenuSeparator, Roo.bootstrap.Component, { - - getAutoCreate : function(){ - var cfg = { - cls: 'divider', - tag : 'li' - }; - - return cfg; - } - -}); - - - - \ No newline at end of file diff --git a/Roo/bootstrap/Modal.js b/Roo/bootstrap/Modal.js index f9031a9eba..636db6c96d 100644 --- a/Roo/bootstrap/Modal.js +++ b/Roo/bootstrap/Modal.js @@ -6,12 +6,15 @@ /** * @class Roo.bootstrap.Modal * @extends Roo.bootstrap.Component + * @builder-top + * @parent none + * @children Roo.bootstrap.Component * Bootstrap Modal class * @cfg {String} title Title of dialog * @cfg {String} html - the body of the dialog (for simple ones) - you can also use template.. * @cfg {Roo.Template} tmpl - a template with variables. to use it, add a handler in show:method adn * @cfg {Boolean} specificTitle default false - * @cfg {Array} buttons Array of buttons or standard button set.. + * @cfg {Roo.bootstrap.Button} buttons[] Array of buttons or standard button set.. * @cfg {String} buttonPosition (left|right|center) default right (DEPRICATED) - use mr-auto on buttons to put them on the left * @cfg {Boolean} animate default true * @cfg {Boolean} allow_close default true diff --git a/Roo/bootstrap/Navbar.Item.js b/Roo/bootstrap/Navbar.Item.js deleted file mode 100644 index 3689bdff68..0000000000 --- a/Roo/bootstrap/Navbar.Item.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - * - LGPL - * - * row - */ - - // moved to Navbar/Item.js - - - - \ No newline at end of file diff --git a/Roo/bootstrap/Pagination.js b/Roo/bootstrap/Pagination.js index 616d0f6e60..cfb6845b3c 100644 --- a/Roo/bootstrap/Pagination.js +++ b/Roo/bootstrap/Pagination.js @@ -8,9 +8,11 @@ /** * @class Roo.bootstrap.Pagination * @extends Roo.bootstrap.Component + * @children Roo.bootstrap.Pagination * Bootstrap Pagination class - * @cfg {String} size xs | sm | md | lg - * @cfg {Boolean} inverse false | true + * + * @cfg {String} size (xs|sm|md|lg|xl) + * @cfg {Boolean} inverse * * @constructor * Create a new Pagination diff --git a/Roo/bootstrap/PagingToolbar.js b/Roo/bootstrap/PagingToolbar.js index 8cbb7fe10c..954d75f5e2 100644 --- a/Roo/bootstrap/PagingToolbar.js +++ b/Roo/bootstrap/PagingToolbar.js @@ -11,7 +11,7 @@ /** * @class Roo.bootstrap.PagingToolbar - * @extends Roo.bootstrap.NavSimplebar + * @extends Roo.bootstrap.nav.Simplebar * A specialized toolbar that is bound to a {@link Roo.data.Store} and provides automatic paging controls. * @constructor * Create a new PagingToolbar @@ -47,14 +47,18 @@ Roo.bootstrap.PagingToolbar = function(config) if (Roo.bootstrap.version == 4) { this.navgroup = new Roo.bootstrap.ButtonGroup({ cls: 'pagination' }); } else { - this.navgroup = new Roo.bootstrap.NavGroup({ cls: 'pagination' }); + this.navgroup = new Roo.bootstrap.nav.Group({ cls: 'pagination' }); } }; -Roo.extend(Roo.bootstrap.PagingToolbar, Roo.bootstrap.NavSimplebar, { +Roo.extend(Roo.bootstrap.PagingToolbar, Roo.bootstrap.nav.Simplebar, { /** - * @cfg {Roo.data.Store} dataSource + * @cfg {Roo.bootstrap.Button} buttons[] + * Buttons for the toolbar + */ + /** + * @cfg {Roo.data.Store} store * The underlying data store providing the paged data */ /** diff --git a/Roo/bootstrap/Popover.js b/Roo/bootstrap/Popover.js index 031926d4fc..7ad1a52bff 100644 --- a/Roo/bootstrap/Popover.js +++ b/Roo/bootstrap/Popover.js @@ -8,6 +8,9 @@ /** * @class Roo.bootstrap.Popover * @extends Roo.bootstrap.Component + * @builder-top + * @parent none + * @children Roo.bootstrap.Component * Bootstrap Popover class * @cfg {String} html contents of the popover (or false to use children..) * @cfg {String} title of popover (or false to hide) diff --git a/Roo/bootstrap/PopoverNav.js b/Roo/bootstrap/PopoverNav.js index 7f3ca6fd85..18843003b7 100644 --- a/Roo/bootstrap/PopoverNav.js +++ b/Roo/bootstrap/PopoverNav.js @@ -1,14 +1,14 @@ -/* - * - LGPL - * - * Card header - holder for the card header elements. - * - */ /** * @class Roo.bootstrap.PopoverNav - * @extends Roo.bootstrap.NavGroup + * @extends Roo.bootstrap.nav.Simplebar + * @parent Roo.bootstrap.Popover + * @children Roo.bootstrap.nav.Group Roo.bootstrap.Container + * @licence LGPL * Bootstrap Popover header navigation class + * FIXME? should this go under nav? + * + * * @constructor * Create a new Popover Header Navigation * @param {Object} config The config object @@ -18,7 +18,7 @@ Roo.bootstrap.PopoverNav = function(config){ Roo.bootstrap.PopoverNav.superclass.constructor.call(this, config); }; -Roo.extend(Roo.bootstrap.PopoverNav, Roo.bootstrap.NavSimplebar, { +Roo.extend(Roo.bootstrap.PopoverNav, Roo.bootstrap.nav.Simplebar, { container_method : 'getPopoverHeader' diff --git a/Roo/bootstrap/Progress.js b/Roo/bootstrap/Progress.js index 196068706b..40342654e1 100644 --- a/Roo/bootstrap/Progress.js +++ b/Roo/bootstrap/Progress.js @@ -8,6 +8,7 @@ /** * @class Roo.bootstrap.Progress * @extends Roo.bootstrap.Component + * @children Roo.bootstrap.ProgressBar * Bootstrap Progress class * @cfg {Boolean} striped striped of the progress bar * @cfg {Boolean} active animated of the progress bar diff --git a/Roo/bootstrap/Row.js b/Roo/bootstrap/Row.js index 358e219622..de3fdd2dfc 100644 --- a/Roo/bootstrap/Row.js +++ b/Roo/bootstrap/Row.js @@ -8,6 +8,7 @@ /** * @class Roo.bootstrap.Row * @extends Roo.bootstrap.Component + * @children Roo.bootstrap.Component * Bootstrap Row class (contains columns...) * * @constructor diff --git a/Roo/bootstrap/TabGroup.js b/Roo/bootstrap/TabGroup.js index a0e4387d56..a0913afb86 100644 --- a/Roo/bootstrap/TabGroup.js +++ b/Roo/bootstrap/TabGroup.js @@ -1,13 +1,7 @@ -/* - * - LGPL - * - * column - * - */ - /** * @class Roo.bootstrap.TabGroup * @extends Roo.bootstrap.Column + * @children Roo.bootstrap.TabPanel * Bootstrap Column class * @cfg {String} navId the navigation id (for use with navbars) - will be auto generated if it does not exist.. * @cfg {Boolean} carousel true to make the group behave like a carousel @@ -147,7 +141,7 @@ Roo.extend(Roo.bootstrap.TabGroup, Roo.bootstrap.Column, { /** * register a Navigation item - * @param {Roo.bootstrap.NavItem} the navitem to add + * @param {Roo.bootstrap.nav.Item} the navitem to add */ register : function(item) { @@ -367,7 +361,7 @@ Roo.apply(Roo.bootstrap.TabGroup, { groups: {}, /** * register a Navigation Group - * @param {Roo.bootstrap.NavGroup} the navgroup to add + * @param {Roo.bootstrap.nav.Group} the navgroup to add */ register : function(navgrp) { @@ -378,7 +372,7 @@ Roo.apply(Roo.bootstrap.TabGroup, { * fetch a Navigation Group based on the navigation ID * if one does not exist , it will get created. * @param {string} the navgroup to add - * @returns {Roo.bootstrap.NavGroup} the navgroup + * @returns {Roo.bootstrap.nav.Group} the navgroup */ get: function(navId) { if (typeof(this.groups[navId]) == 'undefined') { diff --git a/Roo/bootstrap/TabPanel.js b/Roo/bootstrap/TabPanel.js index 8bd63c9370..1a983718b7 100644 --- a/Roo/bootstrap/TabPanel.js +++ b/Roo/bootstrap/TabPanel.js @@ -8,11 +8,12 @@ /** * @class Roo.bootstrap.TabPanel * @extends Roo.bootstrap.Component + * @children Roo.bootstrap.Component * Bootstrap TabPanel class * @cfg {Boolean} active panel active * @cfg {String} html panel content * @cfg {String} tabId unique tab ID (will be autogenerated if not set. - used to match TabItem to Panel) - * @cfg {String} navId The Roo.bootstrap.NavGroup which triggers show hide () + * @cfg {String} navId The Roo.bootstrap.nav.Group which triggers show hide () * @cfg {String} href click to link.. * @cfg {Boolean} touchSlide if swiping slides tab to next panel (default off) * diff --git a/Roo/bootstrap/Table.js b/Roo/bootstrap/Table.js index d250f31c3b..6ece84b941 100644 --- a/Roo/bootstrap/Table.js +++ b/Roo/bootstrap/Table.js @@ -2,6 +2,7 @@ * @class Roo.bootstrap.Table * @licence LGBL * @extends Roo.bootstrap.Component + * @children Roo.bootstrap.TableBody * Bootstrap Table class. This class represents the primary interface of a component based grid control. * Similar to Roo.grid.Grid *

@@ -63,9 +64,9 @@ Currently the Table  uses multiple headers to try and handle XL / Medium etc...
 
 
  *
- * @cfg {Roo.grid.RowSelectionModel|Roo.grid.CellSelectionModel} sm The selection model to use (cell selection is not supported yet)
- * @cfg {Roo.data.Store|Roo.data.SimpleStore} store The data store to use
- * @cfg {Roo.grid.ColumnModel} cm[] A column for th grid.
+ * @cfg {Roo.grid.AbstractSelectionModel} sm The selection model to use (cell selection is not supported yet)
+ * @cfg {Roo.data.Store} store The data store to use
+ * @cfg {Roo.grid.ColumnModel} cm[] A column for the grid.
  * 
  * @cfg {String} cls table class
  *
diff --git a/Roo/bootstrap/Table/AbstractSelectionModel.js b/Roo/bootstrap/Table/AbstractSelectionModel.js
deleted file mode 100644
index 6d80350cbd..0000000000
--- a/Roo/bootstrap/Table/AbstractSelectionModel.js
+++ /dev/null
@@ -1,5 +0,0 @@
-
-/**
- * @depricated
- * Just use grid selection model
- */
diff --git a/Roo/bootstrap/Table/RowSelectionModel.js b/Roo/bootstrap/Table/RowSelectionModel.js
deleted file mode 100644
index eaf7c33bfe..0000000000
--- a/Roo/bootstrap/Table/RowSelectionModel.js
+++ /dev/null
@@ -1,495 +0,0 @@
-
-/**
- *  @deprecated
- *
- *  
- */
-
-Roo.bootstrap.Table.RowSelectionModel = function(config){
-    Roo.apply(this, config);
-    this.selections = new Roo.util.MixedCollection(false, function(o){
-        return o.id;
-    });
-
-    this.last = false;
-    this.lastActive = false;
-
-    this.addEvents({
-        /**
-	     * @event selectionchange
-	     * Fires when the selection changes
-	     * @param {SelectionModel} this
-	     */
-	    "selectionchange" : true,
-        /**
-	     * @event afterselectionchange
-	     * Fires after the selection changes (eg. by key press or clicking)
-	     * @param {SelectionModel} this
-	     */
-	    "afterselectionchange" : true,
-        /**
-	     * @event beforerowselect
-	     * Fires when a row is selected being selected, return false to cancel.
-	     * @param {SelectionModel} this
-	     * @param {Number} rowIndex The selected index
-	     * @param {Boolean} keepExisting False if other selections will be cleared
-	     */
-	    "beforerowselect" : true,
-        /**
-	     * @event rowselect
-	     * Fires when a row is selected.
-	     * @param {SelectionModel} this
-	     * @param {Number} rowIndex The selected index
-	     * @param {Roo.data.Record} r The record
-	     */
-	    "rowselect" : true,
-        /**
-	     * @event rowdeselect
-	     * Fires when a row is deselected.
-	     * @param {SelectionModel} this
-	     * @param {Number} rowIndex The selected index
-	     */
-        "rowdeselect" : true
-    });
-    Roo.bootstrap.Table.RowSelectionModel.superclass.constructor.call(this);
-    this.locked = false;
- };
-
-Roo.extend(Roo.bootstrap.Table.RowSelectionModel, Roo.bootstrap.Table.AbstractSelectionModel,  {
-    /**
-     * @cfg {Boolean} singleSelect
-     * True to allow selection of only one row at a time (defaults to false)
-     */
-    singleSelect : false,
-
-    // private
-    initEvents : function()
-    {
-
-        //if(!this.grid.enableDragDrop && !this.grid.enableDrag){
-        //    this.growclickrid.on("mousedown", this.handleMouseDown, this);
-        //}else{ // allow click to work like normal
-         //   this.grid.on("rowclick", this.handleDragableRowClick, this);
-        //}
-        //this.grid.on("rowdblclick", this.handleMouseDBClick, this);
-        this.grid.on("rowclick", this.handleMouseDown, this);
-        
-        this.rowNav = new Roo.KeyNav(this.grid.getGridEl(), {
-            "up" : function(e){
-                if(!e.shiftKey){
-                    this.selectPrevious(e.shiftKey);
-                }else if(this.last !== false && this.lastActive !== false){
-                    var last = this.last;
-                    this.selectRange(this.last,  this.lastActive-1);
-                    this.grid.getView().focusRow(this.lastActive);
-                    if(last !== false){
-                        this.last = last;
-                    }
-                }else{
-                    this.selectFirstRow();
-                }
-                this.fireEvent("afterselectionchange", this);
-            },
-            "down" : function(e){
-                if(!e.shiftKey){
-                    this.selectNext(e.shiftKey);
-                }else if(this.last !== false && this.lastActive !== false){
-                    var last = this.last;
-                    this.selectRange(this.last,  this.lastActive+1);
-                    this.grid.getView().focusRow(this.lastActive);
-                    if(last !== false){
-                        this.last = last;
-                    }
-                }else{
-                    this.selectFirstRow();
-                }
-                this.fireEvent("afterselectionchange", this);
-            },
-            scope: this
-        });
-        this.grid.store.on('load', function(){
-            this.selections.clear();
-        },this);
-        /*
-        var view = this.grid.view;
-        view.on("refresh", this.onRefresh, this);
-        view.on("rowupdated", this.onRowUpdated, this);
-        view.on("rowremoved", this.onRemove, this);
-        */
-    },
-
-    // private
-    onRefresh : function()
-    {
-        var ds = this.grid.store, i, v = this.grid.view;
-        var s = this.selections;
-        s.each(function(r){
-            if((i = ds.indexOfId(r.id)) != -1){
-                v.onRowSelect(i);
-            }else{
-                s.remove(r);
-            }
-        });
-    },
-
-    // private
-    onRemove : function(v, index, r){
-        this.selections.remove(r);
-    },
-
-    // private
-    onRowUpdated : function(v, index, r){
-        if(this.isSelected(r)){
-            v.onRowSelect(index);
-        }
-    },
-
-    /**
-     * Select records.
-     * @param {Array} records The records to select
-     * @param {Boolean} keepExisting (optional) True to keep existing selections
-     */
-    selectRecords : function(records, keepExisting)
-    {
-        if(!keepExisting){
-            this.clearSelections();
-        }
-	    var ds = this.grid.store;
-        for(var i = 0, len = records.length; i < len; i++){
-            this.selectRow(ds.indexOf(records[i]), true);
-        }
-    },
-
-    /**
-     * Gets the number of selected rows.
-     * @return {Number}
-     */
-    getCount : function(){
-        return this.selections.length;
-    },
-
-    /**
-     * Selects the first row in the grid.
-     */
-    selectFirstRow : function(){
-        this.selectRow(0);
-    },
-
-    /**
-     * Select the last row.
-     * @param {Boolean} keepExisting (optional) True to keep existing selections
-     */
-    selectLastRow : function(keepExisting){
-        //this.selectRow(this.grid.dataSource.getCount() - 1, keepExisting);
-        this.selectRow(this.grid.store.getCount() - 1, keepExisting);
-    },
-
-    /**
-     * Selects the row immediately following the last selected row.
-     * @param {Boolean} keepExisting (optional) True to keep existing selections
-     */
-    selectNext : function(keepExisting)
-    {
-	    if(this.last !== false && (this.last+1) < this.grid.store.getCount()){
-            this.selectRow(this.last+1, keepExisting);
-            this.grid.getView().focusRow(this.last);
-        }
-    },
-
-    /**
-     * Selects the row that precedes the last selected row.
-     * @param {Boolean} keepExisting (optional) True to keep existing selections
-     */
-    selectPrevious : function(keepExisting){
-        if(this.last){
-            this.selectRow(this.last-1, keepExisting);
-            this.grid.getView().focusRow(this.last);
-        }
-    },
-
-    /**
-     * Returns the selected records
-     * @return {Array} Array of selected records
-     */
-    getSelections : function(){
-        return [].concat(this.selections.items);
-    },
-
-    /**
-     * Returns the first selected record.
-     * @return {Record}
-     */
-    getSelected : function(){
-        return this.selections.itemAt(0);
-    },
-
-
-    /**
-     * Clears all selections.
-     */
-    clearSelections : function(fast)
-    {
-        if(this.locked) {
-            return;
-        }
-        if(fast !== true){
-	        var ds = this.grid.store;
-            var s = this.selections;
-            s.each(function(r){
-                this.deselectRow(ds.indexOfId(r.id));
-            }, this);
-            s.clear();
-        }else{
-            this.selections.clear();
-        }
-        this.last = false;
-    },
-
-
-    /**
-     * Selects all rows.
-     */
-    selectAll : function(){
-        if(this.locked) {
-            return;
-        }
-        this.selections.clear();
-        for(var i = 0, len = this.grid.store.getCount(); i < len; i++){
-            this.selectRow(i, true);
-        }
-    },
-
-    /**
-     * Returns True if there is a selection.
-     * @return {Boolean}
-     */
-    hasSelection : function(){
-        return this.selections.length > 0;
-    },
-
-    /**
-     * Returns True if the specified row is selected.
-     * @param {Number/Record} record The record or index of the record to check
-     * @return {Boolean}
-     */
-    isSelected : function(index){
-	    var r = typeof index == "number" ? this.grid.store.getAt(index) : index;
-        return (r && this.selections.key(r.id) ? true : false);
-    },
-
-    /**
-     * Returns True if the specified record id is selected.
-     * @param {String} id The id of record to check
-     * @return {Boolean}
-     */
-    isIdSelected : function(id){
-        return (this.selections.key(id) ? true : false);
-    },
-
-
-    // private
-    handleMouseDBClick : function(e, t){
-	
-    },
-    // private
-    handleMouseDown : function(e, t)
-    {
-	    var rowIndex = this.grid.headerShow  ? t.dom.rowIndex - 1 : t.dom.rowIndex ; // first row is header???
-        if(this.isLocked() || rowIndex < 0 ){
-            return;
-        };
-        if(e.shiftKey && this.last !== false){
-            var last = this.last;
-            this.selectRange(last, rowIndex, e.ctrlKey);
-            this.last = last; // reset the last
-            t.focus();
-    
-        }else{
-            var isSelected = this.isSelected(rowIndex);
-            //Roo.log("select row:" + rowIndex);
-            if(isSelected){
-                this.deselectRow(rowIndex);
-            } else {
-		        this.selectRow(rowIndex, true);
-            }
-    
-            /*
-                if(e.button !== 0 && isSelected){
-                alert('rowIndex 2: ' + rowIndex);
-                    view.focusRow(rowIndex);
-                }else if(e.ctrlKey && isSelected){
-                    this.deselectRow(rowIndex);
-                }else if(!isSelected){
-                    this.selectRow(rowIndex, e.button === 0 && (e.ctrlKey || e.shiftKey));
-                    view.focusRow(rowIndex);
-                }
-            */
-        }
-        this.fireEvent("afterselectionchange", this);
-    },
-    // private
-    handleDragableRowClick :  function(grid, rowIndex, e) 
-    {
-        if(e.button === 0 && !e.shiftKey && !e.ctrlKey) {
-            this.selectRow(rowIndex, false);
-            grid.view.focusRow(rowIndex);
-             this.fireEvent("afterselectionchange", this);
-        }
-    },
-    
-    /**
-     * Selects multiple rows.
-     * @param {Array} rows Array of the indexes of the row to select
-     * @param {Boolean} keepExisting (optional) True to keep existing selections
-     */
-    selectRows : function(rows, keepExisting){
-        if(!keepExisting){
-            this.clearSelections();
-        }
-        for(var i = 0, len = rows.length; i < len; i++){
-            this.selectRow(rows[i], true);
-        }
-    },
-
-    /**
-     * Selects a range of rows. All rows in between startRow and endRow are also selected.
-     * @param {Number} startRow The index of the first row in the range
-     * @param {Number} endRow The index of the last row in the range
-     * @param {Boolean} keepExisting (optional) True to retain existing selections
-     */
-    selectRange : function(startRow, endRow, keepExisting){
-        if(this.locked) {
-            return;
-        }
-        if(!keepExisting){
-            this.clearSelections();
-        }
-        if(startRow <= endRow){
-            for(var i = startRow; i <= endRow; i++){
-                this.selectRow(i, true);
-            }
-        }else{
-            for(var i = startRow; i >= endRow; i--){
-                this.selectRow(i, true);
-            }
-        }
-    },
-
-    /**
-     * Deselects a range of rows. All rows in between startRow and endRow are also deselected.
-     * @param {Number} startRow The index of the first row in the range
-     * @param {Number} endRow The index of the last row in the range
-     */
-    deselectRange : function(startRow, endRow, preventViewNotify){
-        if(this.locked) {
-            return;
-        }
-        for(var i = startRow; i <= endRow; i++){
-            this.deselectRow(i, preventViewNotify);
-        }
-    },
-
-    /**
-     * Selects a row.
-     * @param {Number} row The index of the row to select
-     * @param {Boolean} keepExisting (optional) True to keep existing selections
-     */
-    selectRow : function(index, keepExisting, preventViewNotify)
-    {
-	    if(this.locked || (index < 0 || index > this.grid.store.getCount())) {
-            return;
-        }
-        if(this.fireEvent("beforerowselect", this, index, keepExisting) !== false){
-            if(!keepExisting || this.singleSelect){
-                this.clearSelections();
-            }
-  	    
-            var r = this.grid.store.getAt(index);
-            //console.log('selectRow - record id :' + r.id);
-            
-            this.selections.add(r);
-            this.last = this.lastActive = index;
-            if(!preventViewNotify){
-                var proxy = new Roo.Element(
-                                this.grid.getRowDom(index)
-                );
-                proxy.addClass('bg-info info');
-            }
-            this.fireEvent("rowselect", this, index, r);
-            this.fireEvent("selectionchange", this);
-        }
-    },
-
-    /**
-     * Deselects a row.
-     * @param {Number} row The index of the row to deselect
-     */
-    deselectRow : function(index, preventViewNotify)
-    {
-        if(this.locked) {
-            return;
-        }
-        if(this.last == index){
-            this.last = false;
-        }
-        if(this.lastActive == index){
-            this.lastActive = false;
-        }
-	
-        var r = this.grid.store.getAt(index);
-        if (!r) {
-            return;
-        }
-        
-        this.selections.remove(r);
-        //.console.log('deselectRow - record id :' + r.id);
-        if(!preventViewNotify){
-   	
-    	    var proxy = new Roo.Element(
-                this.grid.getRowDom(index)
-            );
-            proxy.removeClass('bg-info info');
-        }
-        this.fireEvent("rowdeselect", this, index);
-        this.fireEvent("selectionchange", this);
-    },
-
-    // private
-    restoreLast : function(){
-        if(this._last){
-            this.last = this._last;
-        }
-    },
-
-    // private
-    acceptsNav : function(row, col, cm){
-        return !cm.isHidden(col) && cm.isCellEditable(col, row);
-    },
-
-    // private
-    onEditorKey : function(field, e){
-        var k = e.getKey(), newCell, g = this.grid, ed = g.activeEditor;
-        if(k == e.TAB){
-            e.stopEvent();
-            ed.completeEdit();
-            if(e.shiftKey){
-                newCell = g.walkCells(ed.row, ed.col-1, -1, this.acceptsNav, this);
-            }else{
-                newCell = g.walkCells(ed.row, ed.col+1, 1, this.acceptsNav, this);
-            }
-        }else if(k == e.ENTER && !e.ctrlKey){
-            e.stopEvent();
-            ed.completeEdit();
-            if(e.shiftKey){
-                newCell = g.walkCells(ed.row-1, ed.col, -1, this.acceptsNav, this);
-            }else{
-                newCell = g.walkCells(ed.row+1, ed.col, 1, this.acceptsNav, this);
-            }
-        }else if(k == e.ESC){
-            ed.cancelEdit();
-        }
-        if(newCell){
-            g.startEditing(newCell[0], newCell[1]);
-        }
-    }
-});
diff --git a/Roo/bootstrap/TableBody.js b/Roo/bootstrap/TableBody.js
index 8f233655d7..77af7cdcdf 100644
--- a/Roo/bootstrap/TableBody.js
+++ b/Roo/bootstrap/TableBody.js
@@ -8,6 +8,8 @@
 /**
  * @class Roo.bootstrap.TableBody
  * @extends Roo.bootstrap.Component
+ * @children Roo.bootstrap.TableRow
+ * @parent Roo.bootstrap.Table
  * Bootstrap TableBody class
  * @cfg {String} cls element class
  * @cfg {String} tag element tag (thead|tbody|tfoot) default tbody
diff --git a/Roo/bootstrap/TableCell.js b/Roo/bootstrap/TableCell.js
index 09df6ff8c5..b936242b14 100644
--- a/Roo/bootstrap/TableCell.js
+++ b/Roo/bootstrap/TableCell.js
@@ -8,7 +8,10 @@
 /**
  * @class Roo.bootstrap.TableCell
  * @extends Roo.bootstrap.Component
+ * @children Roo.bootstrap.Component
+ * @parent Roo.bootstrap.TableRow
  * Bootstrap TableCell class
+ * 
  * @cfg {String} html cell contain text
  * @cfg {String} cls cell class
  * @cfg {String} tag cell tag (td|th) default td
diff --git a/Roo/bootstrap/TableRow.js b/Roo/bootstrap/TableRow.js
index 9e20d2a80c..2843c9ca00 100644
--- a/Roo/bootstrap/TableRow.js
+++ b/Roo/bootstrap/TableRow.js
@@ -8,6 +8,8 @@
 /**
  * @class Roo.bootstrap.TableRow
  * @extends Roo.bootstrap.Component
+ * @children Roo.bootstrap.TableCell
+ * @parent Roo.bootstrap.TableBody
  * Bootstrap TableRow class
  * @cfg {String} cls row class
  * @cfg {String} align Aligns the content in a table row
diff --git a/Roo/bootstrap/breadcrumb/Item.js b/Roo/bootstrap/breadcrumb/Item.js
index 550b693fd4..ff876f220f 100644
--- a/Roo/bootstrap/breadcrumb/Item.js
+++ b/Roo/bootstrap/breadcrumb/Item.js
@@ -9,9 +9,11 @@
 /**
  * @class Roo.bootstrap.breadcrumb.Nav
  * @extends Roo.bootstrap.Component
+ * @children Roo.bootstrap.Component
+ * @parent Roo.bootstrap.breadcrumb.Nav
  * Bootstrap Breadcrumb Nav Class
  *  
- * @children Roo.bootstrap.breadcrumb.Component
+ * 
  * @cfg {String} html the content of the link.
  * @cfg {String} href where it links to if '#' is used the link will be handled by onClick.
  * @cfg {Boolean} active is it active
diff --git a/Roo/bootstrap/dash/TabBox.js b/Roo/bootstrap/dash/TabBox.js
index 8b341e3a4d..7753f85df1 100644
--- a/Roo/bootstrap/dash/TabBox.js
+++ b/Roo/bootstrap/dash/TabBox.js
@@ -9,6 +9,7 @@ Roo.bootstrap.dash = Roo.bootstrap.dash || {};
 /**
  * @class Roo.bootstrap.dash.TabBox
  * @extends Roo.bootstrap.Component
+ * @children Roo.bootstrap.dash.TabPane
  * Bootstrap TabBox class
  * @cfg {String} title Title of the TabBox
  * @cfg {String} icon Icon of the TabBox
diff --git a/Roo/bootstrap/dash/TabPane.js b/Roo/bootstrap/dash/TabPane.js
index cc09388d9b..ebf6472466 100644
--- a/Roo/bootstrap/dash/TabPane.js
+++ b/Roo/bootstrap/dash/TabPane.js
@@ -8,6 +8,7 @@ Roo.bootstrap.dash = Roo.bootstrap.dash || {};
 /**
  * @class Roo.bootstrap.TabPane
  * @extends Roo.bootstrap.Component
+ * @children  Roo.bootstrap.Graph Roo.bootstrap.Column
  * Bootstrap TabPane class
  * @cfg {Boolean} active (false | true) Default false
  * @cfg {String} title title of panel
diff --git a/Roo/bootstrap/CardUploader.js b/Roo/bootstrap/form/CardUploader.js
similarity index 96%
rename from Roo/bootstrap/CardUploader.js
rename to Roo/bootstrap/form/CardUploader.js
index 7f0d5f1f10..58cba34084 100644
--- a/Roo/bootstrap/CardUploader.js
+++ b/Roo/bootstrap/form/CardUploader.js
@@ -4,7 +4,7 @@
 */
 
 /**
- * @class Roo.bootstrap.CardUploader
+ * @class Roo.bootstrap.form.CardUploader
  * @extends Roo.bootstrap.Button
  * Bootstrap Card Uploader class - it's a button which when you add files to it, adds cards below with preview and the name...
  * @cfg {Number} errorTimeout default 3000
@@ -17,11 +17,11 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.CardUploader = function(config){
+Roo.bootstrap.form.CardUploader = function(config){
     
  
     
-    Roo.bootstrap.CardUploader.superclass.constructor.call(this, config);
+    Roo.bootstrap.form.CardUploader.superclass.constructor.call(this, config);
     
     
     this.fileCollection   = new Roo.util.MixedCollection(false,function(r) {
@@ -49,7 +49,7 @@ Roo.bootstrap.CardUploader = function(config){
     });
 };
  
-Roo.extend(Roo.bootstrap.CardUploader, Roo.bootstrap.Input,  {
+Roo.extend(Roo.bootstrap.form.CardUploader, Roo.bootstrap.form.Input,  {
     
      
     errorTimeout : 3000,
@@ -115,7 +115,7 @@ Roo.extend(Roo.bootstrap.CardUploader, Roo.bootstrap.Input,  {
     initEvents : function()
     {
         
-        Roo.bootstrap.Input.prototype.initEvents.call(this);
+        Roo.bootstrap.form.Input.prototype.initEvents.call(this);
         
         var t = this;
         this.addxtype({
@@ -205,7 +205,7 @@ Roo.extend(Roo.bootstrap.CardUploader, Roo.bootstrap.Input,  {
         var url = _this.urlAPI.createObjectURL( file);
            
         this.addCard({
-            id : Roo.bootstrap.CardUploader.ID--,
+            id : Roo.bootstrap.form.CardUploader.ID--,
             is_uploaded : false,
             src : url,
             srcfile : file,
@@ -383,4 +383,4 @@ Roo.extend(Roo.bootstrap.CardUploader, Roo.bootstrap.Input,  {
 });
 
 
-Roo.bootstrap.CardUploader.ID = -1;
\ No newline at end of file
+Roo.bootstrap.form.CardUploader.ID = -1;
\ No newline at end of file
diff --git a/Roo/bootstrap/CheckBox.js b/Roo/bootstrap/form/CheckBox.js
similarity index 92%
rename from Roo/bootstrap/CheckBox.js
rename to Roo/bootstrap/form/CheckBox.js
index 9602dceeda..6e668a9ebc 100644
--- a/Roo/bootstrap/CheckBox.js
+++ b/Roo/bootstrap/form/CheckBox.js
@@ -6,8 +6,8 @@
  */
 
 /**
- * @class Roo.bootstrap.CheckBox
- * @extends Roo.bootstrap.Input
+ * @class Roo.bootstrap.form.CheckBox
+ * @extends Roo.bootstrap.form.Input
  * Bootstrap CheckBox class
  * 
  * @cfg {String} valueOff The value that should go into the generated input element's value when unchecked.
@@ -24,28 +24,28 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.CheckBox = function(config){
-    Roo.bootstrap.CheckBox.superclass.constructor.call(this, config);
+Roo.bootstrap.form.CheckBox = function(config){
+    Roo.bootstrap.form.CheckBox.superclass.constructor.call(this, config);
    
     this.addEvents({
         /**
         * @event check
         * Fires when the element is checked or unchecked.
-        * @param {Roo.bootstrap.CheckBox} this This input
+        * @param {Roo.bootstrap.form.CheckBox} this This input
         * @param {Boolean} checked The new checked value
         */
        check : true,
        /**
         * @event click
         * Fires when the element is click.
-        * @param {Roo.bootstrap.CheckBox} this This input
+        * @param {Roo.bootstrap.form.CheckBox} this This input
         */
        click : true
     });
     
 };
 
-Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
+Roo.extend(Roo.bootstrap.form.CheckBox, Roo.bootstrap.form.Input,  {
   
     inputType: 'checkbox',
     inputValue: 1,
@@ -297,7 +297,7 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
     
     initEvents : function()
     {
-//        Roo.bootstrap.CheckBox.superclass.initEvents.call(this);
+//        Roo.bootstrap.form.CheckBox.superclass.initEvents.call(this);
         
         this.inputEl().on('click', this.onClick,  this);
         
@@ -308,7 +308,7 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
         this.startValue = this.getValue();
         
         if(this.groupId){
-            Roo.bootstrap.CheckBox.register(this);
+            Roo.bootstrap.form.CheckBox.register(this);
         }
     },
     
@@ -460,7 +460,7 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
             //return (this.getValue() == this.inputValue) ? true : false;
         }
         
-        var group = Roo.bootstrap.CheckBox.get(this.groupId);
+        var group = Roo.bootstrap.form.CheckBox.get(this.groupId);
         
         if(!group){
             return false;
@@ -497,10 +497,10 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
         
         this.fireEvent('valid', this);
         
-        var label = Roo.bootstrap.FieldLabel.get(this.name + '-group');
+        var label = Roo.bootstrap.form.FieldLabel.get(this.name + '-group');
         
         if(this.groupId){
-            label = Roo.bootstrap.FieldLabel.get(this.groupId + '-group');
+            label = Roo.bootstrap.form.FieldLabel.get(this.groupId + '-group');
         }
         
         if(label){
@@ -534,7 +534,7 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
             return;
         }
         
-        var group = Roo.bootstrap.CheckBox.get(this.groupId);
+        var group = Roo.bootstrap.form.CheckBox.get(this.groupId);
         
         if(!group){
             return;
@@ -566,10 +566,10 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
         
         this.fireEvent('invalid', this, msg);
         
-        var label = Roo.bootstrap.FieldLabel.get(this.name + '-group');
+        var label = Roo.bootstrap.form.FieldLabel.get(this.name + '-group');
         
         if(this.groupId){
-            label = Roo.bootstrap.FieldLabel.get(this.groupId + '-group');
+            label = Roo.bootstrap.form.FieldLabel.get(this.groupId + '-group');
         }
         
         if(label){
@@ -604,7 +604,7 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
             return;
         }
         
-        var group = Roo.bootstrap.CheckBox.get(this.groupId);
+        var group = Roo.bootstrap.form.CheckBox.get(this.groupId);
         
         if(!group){
             return;
@@ -625,11 +625,11 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
     
     clearInvalid : function()
     {
-        Roo.bootstrap.Input.prototype.clearInvalid.call(this);
+        Roo.bootstrap.form.Input.prototype.clearInvalid.call(this);
         
         // this.el.findParent('.form-group', false, true).removeClass([this.invalidClass, this.validClass]);
         
-        var label = Roo.bootstrap.FieldLabel.get(this.name + '-group');
+        var label = Roo.bootstrap.form.FieldLabel.get(this.name + '-group');
         
         if (label && label.iconEl) {
             label.iconEl.removeClass([ label.validClass, label.invalidClass ]);
@@ -640,7 +640,7 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
     disable : function()
     {
         if(this.inputType != 'radio'){
-            Roo.bootstrap.CheckBox.superclass.disable.call(this);
+            Roo.bootstrap.form.CheckBox.superclass.disable.call(this);
             return;
         }
         
@@ -661,7 +661,7 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
     enable : function()
     {
         if(this.inputType != 'radio'){
-            Roo.bootstrap.CheckBox.superclass.enable.call(this);
+            Roo.bootstrap.form.CheckBox.superclass.enable.call(this);
             return;
         }
         
@@ -690,13 +690,13 @@ Roo.extend(Roo.bootstrap.CheckBox, Roo.bootstrap.Input,  {
 
 });
 
-Roo.apply(Roo.bootstrap.CheckBox, {
+Roo.apply(Roo.bootstrap.form.CheckBox, {
     
     groups: {},
     
      /**
     * register a CheckBox Group
-    * @param {Roo.bootstrap.CheckBox} the CheckBox to add
+    * @param {Roo.bootstrap.form.CheckBox} the CheckBox to add
     */
     register : function(checkbox)
     {
@@ -714,7 +714,7 @@ Roo.apply(Roo.bootstrap.CheckBox, {
     /**
     * fetch a CheckBox Group based on the group ID
     * @param {string} the group ID
-    * @returns {Roo.bootstrap.CheckBox} the CheckBox group
+    * @returns {Roo.bootstrap.form.CheckBox} the CheckBox group
     */
     get: function(groupId) {
         if (typeof(this.groups[groupId]) == 'undefined') {
diff --git a/Roo/bootstrap/ComboBox.js b/Roo/bootstrap/form/ComboBox.js
similarity index 97%
rename from Roo/bootstrap/ComboBox.js
rename to Roo/bootstrap/form/ComboBox.js
index 8582874e03..3e51788d79 100644
--- a/Roo/bootstrap/ComboBox.js
+++ b/Roo/bootstrap/form/ComboBox.js
@@ -4,8 +4,8 @@
  */
 
 /**
- * @class Roo.bootstrap.ComboBox
- * @extends Roo.bootstrap.TriggerField
+ * @class Roo.bootstrap.form.ComboBox
+ * @extends Roo.bootstrap.form.TriggerField
  * A combobox control with support for autocomplete, remote-loading, paging and many other features.
  * @cfg {Boolean} append (true|false) default false
  * @cfg {Boolean} autoFocus (true|false) auto focus the first item, default true
@@ -22,25 +22,25 @@
  * Create a new ComboBox.
  * @param {Object} config Configuration options
  */
-Roo.bootstrap.ComboBox = function(config){
-    Roo.bootstrap.ComboBox.superclass.constructor.call(this, config);
+Roo.bootstrap.form.ComboBox = function(config){
+    Roo.bootstrap.form.ComboBox.superclass.constructor.call(this, config);
     this.addEvents({
         /**
          * @event expand
          * Fires when the dropdown list is expanded
-        * @param {Roo.bootstrap.ComboBox} combo This combo box
+        * @param {Roo.bootstrap.form.ComboBox} combo This combo box
         */
         'expand' : true,
         /**
          * @event collapse
          * Fires when the dropdown list is collapsed
-        * @param {Roo.bootstrap.ComboBox} combo This combo box
+        * @param {Roo.bootstrap.form.ComboBox} combo This combo box
         */
         'collapse' : true,
         /**
          * @event beforeselect
          * Fires before a list item is selected. Return false to cancel the selection.
-        * @param {Roo.bootstrap.ComboBox} combo This combo box
+        * @param {Roo.bootstrap.form.ComboBox} combo This combo box
         * @param {Roo.data.Record} record The data record returned from the underlying store
         * @param {Number} index The index of the selected item in the dropdown list
         */
@@ -48,7 +48,7 @@ Roo.bootstrap.ComboBox = function(config){
         /**
          * @event select
          * Fires when a list item is selected
-        * @param {Roo.bootstrap.ComboBox} combo This combo box
+        * @param {Roo.bootstrap.form.ComboBox} combo This combo box
         * @param {Roo.data.Record} record The data record returned from the underlying store (or false on clear)
         * @param {Number} index The index of the selected item in the dropdown list
         */
@@ -57,7 +57,7 @@ Roo.bootstrap.ComboBox = function(config){
          * @event beforequery
          * Fires before all queries are processed. Return false to cancel the query or set cancel to true.
          * The event object passed has these properties:
-        * @param {Roo.bootstrap.ComboBox} combo This combo box
+        * @param {Roo.bootstrap.form.ComboBox} combo This combo box
         * @param {String} query The query
         * @param {Boolean} forceAll true to force "all" query
         * @param {Boolean} cancel true to cancel the query
@@ -67,44 +67,44 @@ Roo.bootstrap.ComboBox = function(config){
          /**
          * @event add
          * Fires when the 'add' icon is pressed (add a listener to enable add button)
-        * @param {Roo.bootstrap.ComboBox} combo This combo box
+        * @param {Roo.bootstrap.form.ComboBox} combo This combo box
         */
         'add' : true,
         /**
          * @event edit
          * Fires when the 'edit' icon is pressed (add a listener to enable add button)
-        * @param {Roo.bootstrap.ComboBox} combo This combo box
+        * @param {Roo.bootstrap.form.ComboBox} combo This combo box
         * @param {Roo.data.Record|false} record The data record returned from the underlying store (or false on nothing selected)
         */
         'edit' : true,
         /**
          * @event remove
          * Fires when the remove value from the combobox array
-        * @param {Roo.bootstrap.ComboBox} combo This combo box
+        * @param {Roo.bootstrap.form.ComboBox} combo This combo box
         */
         'remove' : true,
         /**
          * @event afterremove
          * Fires when the remove value from the combobox array
-        * @param {Roo.bootstrap.ComboBox} combo This combo box
+        * @param {Roo.bootstrap.form.ComboBox} combo This combo box
         */
         'afterremove' : true,
         /**
          * @event specialfilter
          * Fires when specialfilter
-            * @param {Roo.bootstrap.ComboBox} combo This combo box
+            * @param {Roo.bootstrap.form.ComboBox} combo This combo box
             */
         'specialfilter' : true,
         /**
          * @event tick
          * Fires when tick the element
-            * @param {Roo.bootstrap.ComboBox} combo This combo box
+            * @param {Roo.bootstrap.form.ComboBox} combo This combo box
             */
         'tick' : true,
         /**
          * @event touchviewdisplay
          * Fires when touch view require special display (default is using displayField)
-            * @param {Roo.bootstrap.ComboBox} combo This combo box
+            * @param {Roo.bootstrap.form.ComboBox} combo This combo box
             * @param {Object} cfg set html .
             */
         'touchviewdisplay' : true
@@ -125,7 +125,7 @@ Roo.bootstrap.ComboBox = function(config){
     }
 };
 
-Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
+Roo.extend(Roo.bootstrap.form.ComboBox, Roo.bootstrap.form.TriggerField, {
      
     /**
      * @cfg {Boolean} lazyRender True to prevent the ComboBox from rendering until requested (should always be used when
@@ -374,7 +374,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
          *  Normal ComboBox
          */
         if(!this.tickable){
-            cfg = Roo.bootstrap.ComboBox.superclass.getAutoCreate.call(this);
+            cfg = Roo.bootstrap.form.ComboBox.superclass.getAutoCreate.call(this);
             return cfg;
         }
         
@@ -694,7 +694,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
             return;
         }
         
-        Roo.bootstrap.ComboBox.superclass.initEvents.call(this);
+        Roo.bootstrap.form.ComboBox.superclass.initEvents.call(this);
         
         if(this.hiddenName){
             
@@ -1074,7 +1074,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
             this.store.un('load', this.onLoad, this);
             this.store.un('loadexception', this.onLoadException, this);
         }
-        Roo.bootstrap.ComboBox.superclass.onDestroy.call(this);
+        Roo.bootstrap.form.ComboBox.superclass.onDestroy.call(this);
     },
 
     // private
@@ -1089,7 +1089,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
     {
         
         
-//        Roo.bootstrap.ComboBox.superclass.onResize.apply(this, arguments);
+//        Roo.bootstrap.form.ComboBox.superclass.onResize.apply(this, arguments);
 //        
 //        if(typeof w != 'number'){
 //            // we do not handle it!?!?
@@ -1262,7 +1262,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
         if(this.valueField){
             return typeof this.value != 'undefined' ? this.value : '';
         }else{
-            return Roo.bootstrap.ComboBox.superclass.getValue.call(this);
+            return Roo.bootstrap.form.ComboBox.superclass.getValue.call(this);
         }
     },
     
@@ -1332,7 +1332,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
         if(this.hiddenField){
             this.hiddenField.dom.value = v;
         }
-        Roo.bootstrap.ComboBox.superclass.setValue.call(this, text);
+        Roo.bootstrap.form.ComboBox.superclass.setValue.call(this, text);
         this.value = v;
         
         var close = this.closeTriggerEl();
@@ -1388,14 +1388,14 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
             this.hiddenField.dom.value = vv;
             
             this.lastSelectionText = dv;
-            Roo.bootstrap.ComboBox.superclass.setValue.call(this, dv);
+            Roo.bootstrap.form.ComboBox.superclass.setValue.call(this, dv);
             this.value = vv;
             return;
         }
         // no hidden field.. - we store the value in 'value', but still display
         // display field!!!!
         this.lastSelectionText = dv;
-        Roo.bootstrap.ComboBox.superclass.setValue.call(this, dv);
+        Roo.bootstrap.form.ComboBox.superclass.setValue.call(this, dv);
         this.value = vv;
         
         
@@ -2536,7 +2536,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
     
     renderTouchView : function()
     {
-        this.touchViewEl = Roo.get(document.body).createChild(Roo.bootstrap.ComboBox.touchViewTemplate);
+        this.touchViewEl = Roo.get(document.body).createChild(Roo.bootstrap.form.ComboBox.touchViewTemplate);
         this.touchViewEl.setVisibilityMode(Roo.Element.DISPLAY).originalDisplay = 'block';
         
         this.touchViewHeaderEl = this.touchViewEl.select('.modal-header', true).first();
@@ -2671,7 +2671,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
         
         var rawValue = this.getRawValue();
         
-        var template = (this.multiple) ? Roo.bootstrap.ComboBox.listItemCheckbox : Roo.bootstrap.ComboBox.listItemRadio;
+        var template = (this.multiple) ? Roo.bootstrap.form.ComboBox.listItemCheckbox : Roo.bootstrap.form.ComboBox.listItemRadio;
         
         this.tickItems = [];
         
@@ -2745,7 +2745,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
     {
         this.clearTouchView();
         
-        this.touchViewListGroup.createChild(Roo.bootstrap.ComboBox.emptyResult);
+        this.touchViewListGroup.createChild(Roo.bootstrap.form.ComboBox.emptyResult);
         
         this.touchViewListGroup.select('.roo-combobox-touch-view-empty-result', true).first().dom.innerHTML = this.emptyResultText;
         
@@ -2963,7 +2963,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
      */
 });
 
-Roo.apply(Roo.bootstrap.ComboBox,  {
+Roo.apply(Roo.bootstrap.form.ComboBox,  {
     
     header : {
         tag: 'div',
@@ -3073,7 +3073,7 @@ Roo.apply(Roo.bootstrap.ComboBox,  {
     }
 });
 
-Roo.apply(Roo.bootstrap.ComboBox,  {
+Roo.apply(Roo.bootstrap.form.ComboBox,  {
     
     touchViewTemplate : {
         tag: 'div',
@@ -3088,9 +3088,9 @@ Roo.apply(Roo.bootstrap.ComboBox,  {
                         tag: 'div',
                         cls: 'modal-content',
                         cn: [
-                            Roo.bootstrap.ComboBox.header,
-                            Roo.bootstrap.ComboBox.body,
-                            Roo.bootstrap.ComboBox.footer
+                            Roo.bootstrap.form.ComboBox.header,
+                            Roo.bootstrap.form.ComboBox.body,
+                            Roo.bootstrap.form.ComboBox.footer
                         ]
                     }
                 ]
diff --git a/Roo/bootstrap/DateField.js b/Roo/bootstrap/form/DateField.js
similarity index 92%
rename from Roo/bootstrap/DateField.js
rename to Roo/bootstrap/form/DateField.js
index ba18ac35df..6f07f05fe7 100644
--- a/Roo/bootstrap/DateField.js
+++ b/Roo/bootstrap/form/DateField.js
@@ -6,8 +6,8 @@
  */
 
 /**
- * @class Roo.bootstrap.DateField
- * @extends Roo.bootstrap.Input
+ * @class Roo.bootstrap.form.DateField
+ * @extends Roo.bootstrap.form.Input
  * Bootstrap DateField class
  * @cfg {Number} weekStart default 0
  * @cfg {String} viewMode default empty, (months|years)
@@ -28,41 +28,41 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.DateField = function(config){
-    Roo.bootstrap.DateField.superclass.constructor.call(this, config);
+Roo.bootstrap.form.DateField = function(config){
+    Roo.bootstrap.form.DateField.superclass.constructor.call(this, config);
      this.addEvents({
             /**
              * @event show
              * Fires when this field show.
-             * @param {Roo.bootstrap.DateField} this
+             * @param {Roo.bootstrap.form.DateField} this
              * @param {Mixed} date The date value
              */
             show : true,
             /**
              * @event show
              * Fires when this field hide.
-             * @param {Roo.bootstrap.DateField} this
+             * @param {Roo.bootstrap.form.DateField} this
              * @param {Mixed} date The date value
              */
             hide : true,
             /**
              * @event select
              * Fires when select a date.
-             * @param {Roo.bootstrap.DateField} this
+             * @param {Roo.bootstrap.form.DateField} this
              * @param {Mixed} date The date value
              */
             select : true,
             /**
              * @event beforeselect
              * Fires when before select a date.
-             * @param {Roo.bootstrap.DateField} this
+             * @param {Roo.bootstrap.form.DateField} this
              * @param {Mixed} date The date value
              */
             beforeselect : true
         });
 };
 
-Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
+Roo.extend(Roo.bootstrap.form.DateField, Roo.bootstrap.form.Input,  {
     
     /**
      * @cfg {String} format
@@ -135,13 +135,13 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
     onRender: function(ct, position)
     {
         
-        Roo.bootstrap.DateField.superclass.onRender.call(this, ct, position);
+        Roo.bootstrap.form.DateField.superclass.onRender.call(this, ct, position);
         
         this.language = this.language || 'en';
-        this.language = this.language in Roo.bootstrap.DateField.dates ? this.language : this.language.split('-')[0];
-        this.language = this.language in Roo.bootstrap.DateField.dates ? this.language : "en";
+        this.language = this.language in Roo.bootstrap.form.DateField.dates ? this.language : this.language.split('-')[0];
+        this.language = this.language in Roo.bootstrap.form.DateField.dates ? this.language : "en";
         
-        this.isRTL = Roo.bootstrap.DateField.dates[this.language].rtl || false;
+        this.isRTL = Roo.bootstrap.form.DateField.dates[this.language].rtl || false;
         this.format = this.format || 'm/d/y';
         this.isInline = false;
         this.isInput = true;
@@ -177,9 +177,9 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
             }
         }
                 
-        this.pickerEl = Roo.get(document.body).createChild(Roo.bootstrap.DateField.template);
+        this.pickerEl = Roo.get(document.body).createChild(Roo.bootstrap.form.DateField.template);
         
-//        this.el.select('>.input-group', true).first().createChild(Roo.bootstrap.DateField.template);
+//        this.el.select('>.input-group', true).first().createChild(Roo.bootstrap.form.DateField.template);
         
         this.picker().setVisibilityMode(Roo.Element.DISPLAY).originalDisplay = 'block';
         
@@ -207,7 +207,7 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
                 return;
             }
             
-            v.dom.innerHTML = Roo.bootstrap.DateField.dates[this.language].today;
+            v.dom.innerHTML = Roo.bootstrap.form.DateField.dates[this.language].today;
             v.attr('colspan', function(i, val){
                 return parseInt(val) + 1;
             });
@@ -260,7 +260,7 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
             dow.cn.push({
                 tag: 'th',
                 cls: 'dow',
-                html: Roo.bootstrap.DateField.dates[this.language].daysMin[(dowCnt++)%7]
+                html: Roo.bootstrap.form.DateField.dates[this.language].daysMin[(dowCnt++)%7]
             });
         }
         
@@ -278,7 +278,7 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
             var month = {
                 tag: 'span',
                 cls: 'month',
-                html: Roo.bootstrap.DateField.dates[this.language].monthsShort[i++]
+                html: Roo.bootstrap.form.DateField.dates[this.language].monthsShort[i++]
             };
             
             months.createChild(month);
@@ -313,9 +313,9 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
                 currentDate = this.date && this.date.valueOf(),
                 today = this.UTCToday();
         
-        this.picker().select('>.datepicker-days thead th.switch', true).first().dom.innerHTML = Roo.bootstrap.DateField.dates[this.language].months[month]+' '+year;
+        this.picker().select('>.datepicker-days thead th.switch', true).first().dom.innerHTML = Roo.bootstrap.form.DateField.dates[this.language].months[month]+' '+year;
         
-//        this.picker().select('>tfoot th.today', true).first().dom.innerHTML = Roo.bootstrap.DateField.dates[this.language].today;
+//        this.picker().select('>tfoot th.today', true).first().dom.innerHTML = Roo.bootstrap.form.DateField.dates[this.language].today;
         
 //        this.picker.select('>tfoot th.today').
 //						.text(dates[this.language].today)
@@ -453,7 +453,7 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
             v.setVisibilityMode(Roo.Element.DISPLAY).originalDisplay = 'block';
             v.hide();
         });
-        this.picker().select('>.datepicker-'+Roo.bootstrap.DateField.modes[this.viewMode].clsName, true).first().show();
+        this.picker().select('>.datepicker-'+Roo.bootstrap.form.DateField.modes[this.viewMode].clsName, true).first().show();
     },
     
     place: function()
@@ -509,13 +509,13 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
     
     onFocus : function()
     {
-        Roo.bootstrap.DateField.superclass.onFocus.call(this);
+        Roo.bootstrap.form.DateField.superclass.onFocus.call(this);
         this.showPopup();
     },
     
     onBlur : function()
     {
-        Roo.bootstrap.DateField.superclass.onBlur.call(this);
+        Roo.bootstrap.form.DateField.superclass.onBlur.call(this);
         
         var d = this.inputEl().getValue();
         
@@ -554,7 +554,7 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
     
     keyup: function(e)
     {
-        Roo.bootstrap.DateField.superclass.keyup.call(this);
+        Roo.bootstrap.form.DateField.superclass.keyup.call(this);
         this.update();
     },
 
@@ -565,13 +565,13 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
         
             if(isNaN(d.getTime())){
                 this.date = this.viewDate = '';
-                Roo.bootstrap.DateField.superclass.setValue.call(this, '');
+                Roo.bootstrap.form.DateField.superclass.setValue.call(this, '');
                 return;
             }
 
             v = this.formatDate(d);
 
-            Roo.bootstrap.DateField.superclass.setValue.call(this, v);
+            Roo.bootstrap.form.DateField.superclass.setValue.call(this, v);
 
             this.date = new Date(d.getTime() - d.getTimezoneOffset()*60000);
 
@@ -703,7 +703,7 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
                         break;
                     case 'prev':
                     case 'next':
-                        var dir = Roo.bootstrap.DateField.modes[this.viewMode].navStep * (className == 'prev' ? -1 : 1);
+                        var dir = Roo.bootstrap.form.DateField.modes[this.viewMode].navStep * (className == 'prev' ? -1 : 1);
                         switch(this.viewMode){
                                 case 0:
                                         this.viewDate = this.moveMonth(this.viewDate, dir);
@@ -732,7 +732,7 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
                 }
                 this.viewDate.setUTCDate(1);
                     if (className.indexOf('month') > -1) {
-                        this.viewDate.setUTCMonth(Roo.bootstrap.DateField.dates[this.language].monthsShort.indexOf(html));
+                        this.viewDate.setUTCMonth(Roo.bootstrap.form.DateField.dates[this.language].monthsShort.indexOf(html));
                     } else {
                         var year = parseInt(html, 10) || 0;
                         this.viewDate.setUTCFullYear(year);
@@ -987,12 +987,12 @@ Roo.extend(Roo.bootstrap.DateField, Roo.bootstrap.Input,  {
     {
         this.date = this.viewDate = '';
         
-        Roo.bootstrap.DateField.superclass.setValue.call(this, '');
+        Roo.bootstrap.form.DateField.superclass.setValue.call(this, '');
     }
    
 });
 
-Roo.apply(Roo.bootstrap.DateField,  {
+Roo.apply(Roo.bootstrap.form.DateField,  {
     
     head : {
         tag: 'thead',
@@ -1082,7 +1082,7 @@ Roo.apply(Roo.bootstrap.DateField,  {
     }]
 });
 
-Roo.apply(Roo.bootstrap.DateField,  {
+Roo.apply(Roo.bootstrap.form.DateField,  {
   
     template : {
         tag: 'div',
@@ -1096,11 +1096,11 @@ Roo.apply(Roo.bootstrap.DateField,  {
                 tag: 'table',
                 cls: 'table-condensed',
                 cn:[
-                Roo.bootstrap.DateField.head,
+                Roo.bootstrap.form.DateField.head,
                 {
                     tag: 'tbody'
                 },
-                Roo.bootstrap.DateField.footer
+                Roo.bootstrap.form.DateField.footer
                 ]
             }
             ]
@@ -1113,9 +1113,9 @@ Roo.apply(Roo.bootstrap.DateField,  {
                 tag: 'table',
                 cls: 'table-condensed',
                 cn:[
-                Roo.bootstrap.DateField.head,
-                Roo.bootstrap.DateField.content,
-                Roo.bootstrap.DateField.footer
+                Roo.bootstrap.form.DateField.head,
+                Roo.bootstrap.form.DateField.content,
+                Roo.bootstrap.form.DateField.footer
                 ]
             }
             ]
@@ -1128,9 +1128,9 @@ Roo.apply(Roo.bootstrap.DateField,  {
                 tag: 'table',
                 cls: 'table-condensed',
                 cn:[
-                Roo.bootstrap.DateField.head,
-                Roo.bootstrap.DateField.content,
-                Roo.bootstrap.DateField.footer
+                Roo.bootstrap.form.DateField.head,
+                Roo.bootstrap.form.DateField.content,
+                Roo.bootstrap.form.DateField.footer
                 ]
             }
             ]
diff --git a/Roo/bootstrap/DateSplitField.js b/Roo/bootstrap/form/DateSplitField.js
similarity index 94%
rename from Roo/bootstrap/DateSplitField.js
rename to Roo/bootstrap/form/DateSplitField.js
index 3f6d16b299..2108c5ab70 100644
--- a/Roo/bootstrap/DateSplitField.js
+++ b/Roo/bootstrap/form/DateSplitField.js
@@ -7,7 +7,7 @@
 
 
 /**
- * @class Roo.bootstrap.DateSplitField
+ * @class Roo.bootstrap.form.DateSplitField
  * @extends Roo.bootstrap.Component
  * Bootstrap DateSplitField class
  * @cfg {string} fieldLabel - the label associated
@@ -33,22 +33,22 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.DateSplitField = function(config){
-    Roo.bootstrap.DateSplitField.superclass.constructor.call(this, config);
+Roo.bootstrap.form.DateSplitField = function(config){
+    Roo.bootstrap.form.DateSplitField.superclass.constructor.call(this, config);
     
     this.addEvents({
         // raw events
          /**
          * @event years
          * getting the data of years
-         * @param {Roo.bootstrap.DateSplitField} this
+         * @param {Roo.bootstrap.form.DateSplitField} this
          * @param {Object} years
          */
         "years" : true,
         /**
          * @event days
          * getting the data of days
-         * @param {Roo.bootstrap.DateSplitField} this
+         * @param {Roo.bootstrap.form.DateSplitField} this
          * @param {Object} days
          */
         "days" : true,
@@ -68,7 +68,7 @@ Roo.bootstrap.DateSplitField = function(config){
     });
 };
 
-Roo.extend(Roo.bootstrap.DateSplitField, Roo.bootstrap.Component,  {
+Roo.extend(Roo.bootstrap.form.DateSplitField, Roo.bootstrap.Component,  {
     
     fieldLabel : '',
     labelAlign : 'top',
@@ -174,11 +174,11 @@ Roo.extend(Roo.bootstrap.DateSplitField, Roo.bootstrap.Component,  {
     {
         var _this = this;
         
-        Roo.bootstrap.NavProgressBar.superclass.onRender.call(this, ct, position);
+        Roo.bootstrap.DateSplitFiel.superclass.onRender.call(this, ct, position);
         
         this.inputEl = this.el.select('.roo-date-split-field-group-value', true).first();
         
-        this.dayField = new Roo.bootstrap.ComboBox({
+        this.dayField = new Roo.bootstrap.form.ComboBox({
             allowBlank : this.dayAllowBlank,
             alwaysQuery : true,
             displayField : 'value',
@@ -210,7 +210,7 @@ Roo.extend(Roo.bootstrap.DateSplitField, Roo.bootstrap.Component,  {
 
         this.dayField.render(this.el.select('.roo-date-split-field-day', true).first(), null);
         
-        this.monthField = new Roo.bootstrap.MonthField({
+        this.monthField = new Roo.bootstrap.form.MonthField({
             after : '',
             allowBlank : this.monthAllowBlank,
             placeholder : this.monthPlaceholder,
@@ -232,7 +232,7 @@ Roo.extend(Roo.bootstrap.DateSplitField, Roo.bootstrap.Component,  {
         
         this.monthField.render(this.el.select('.roo-date-split-field-month', true).first(), null);
         
-        this.yearField = new Roo.bootstrap.ComboBox({
+        this.yearField = new Roo.bootstrap.form.ComboBox({
             allowBlank : this.yearAllowBlank,
             alwaysQuery : true,
             displayField : 'value',
diff --git a/Roo/bootstrap/FieldLabel.js b/Roo/bootstrap/form/FieldLabel.js
similarity index 92%
rename from Roo/bootstrap/FieldLabel.js
rename to Roo/bootstrap/form/FieldLabel.js
index c59405c8ab..c8e28139f9 100644
--- a/Roo/bootstrap/FieldLabel.js
+++ b/Roo/bootstrap/form/FieldLabel.js
@@ -6,7 +6,7 @@
  */
 
 /**
- * @class Roo.bootstrap.FieldLabel
+ * @class Roo.bootstrap.form.FieldLabel
  * @extends Roo.bootstrap.Component
  * Bootstrap FieldLabel class
  * @cfg {String} html contents of the element
@@ -24,7 +24,7 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.FieldLabel = function(config){
+Roo.bootstrap.form.FieldLabel = function(config){
     Roo.bootstrap.Element.superclass.constructor.call(this, config);
     
     this.addEvents({
@@ -44,7 +44,7 @@ Roo.bootstrap.FieldLabel = function(config){
         });
 };
 
-Roo.extend(Roo.bootstrap.FieldLabel, Roo.bootstrap.Component,  {
+Roo.extend(Roo.bootstrap.form.FieldLabel, Roo.bootstrap.Component,  {
     
     tag: 'label',
     cls: '',
@@ -113,7 +113,7 @@ Roo.extend(Roo.bootstrap.FieldLabel, Roo.bootstrap.Component,  {
             this.indicator.addClass('invisible');
         }
         
-        Roo.bootstrap.FieldLabel.register(this);
+        Roo.bootstrap.form.FieldLabel.register(this);
     },
     
     indicatorEl : function()
@@ -174,13 +174,13 @@ Roo.extend(Roo.bootstrap.FieldLabel, Roo.bootstrap.Component,  {
    
 });
 
-Roo.apply(Roo.bootstrap.FieldLabel, {
+Roo.apply(Roo.bootstrap.form.FieldLabel, {
     
     groups: {},
     
      /**
     * register a FieldLabel Group
-    * @param {Roo.bootstrap.FieldLabel} the FieldLabel to add
+    * @param {Roo.bootstrap.form.FieldLabel} the FieldLabel to add
     */
     register : function(label)
     {
@@ -194,7 +194,7 @@ Roo.apply(Roo.bootstrap.FieldLabel, {
     /**
     * fetch a FieldLabel Group based on the target
     * @param {string} target
-    * @returns {Roo.bootstrap.FieldLabel} the CheckBox group
+    * @returns {Roo.bootstrap.form.FieldLabel} the CheckBox group
     */
     get: function(target) {
         if (typeof(this.groups[target]) == 'undefined') {
diff --git a/Roo/bootstrap/Form.js b/Roo/bootstrap/form/Form.js
similarity index 98%
rename from Roo/bootstrap/Form.js
rename to Roo/bootstrap/form/Form.js
index 74aa41bae7..e8504c468a 100644
--- a/Roo/bootstrap/Form.js
+++ b/Roo/bootstrap/form/Form.js
@@ -6,8 +6,9 @@
  */
 
 /**
- * @class Roo.bootstrap.Form
+ * @class Roo.bootstrap.form.Form
  * @extends Roo.bootstrap.Component
+ * @children Roo.bootstrap.Component
  * Bootstrap Form class
  * @cfg {String} method  GET | POST (default POST)
  * @cfg {String} labelAlign top | left (default top)
@@ -21,11 +22,11 @@
  */
 
 
-Roo.bootstrap.Form = function(config){
+Roo.bootstrap.form.Form = function(config){
     
-    Roo.bootstrap.Form.superclass.constructor.call(this, config);
+    Roo.bootstrap.form.Form.superclass.constructor.call(this, config);
     
-    Roo.bootstrap.Form.popover.apply();
+    Roo.bootstrap.form.Form.popover.apply();
     
     this.addEvents({
         /**
@@ -59,7 +60,7 @@ Roo.bootstrap.Form = function(config){
     });
 };
 
-Roo.extend(Roo.bootstrap.Form, Roo.bootstrap.Component,  {
+Roo.extend(Roo.bootstrap.form.Form, Roo.bootstrap.Component,  {
 
      /**
      * @cfg {String} method
@@ -189,7 +190,7 @@ Roo.extend(Roo.bootstrap.Form, Roo.bootstrap.Component,  {
         });
         
         if(this.errorMask && !valid){
-            Roo.bootstrap.Form.popover.mask(this, target);
+            Roo.bootstrap.form.Form.popover.mask(this, target);
         }
         
         return valid;
@@ -606,7 +607,7 @@ clientValidation  Boolean          Applies to submit only.  Pass true to call fo
 
 });
 
-Roo.apply(Roo.bootstrap.Form, {
+Roo.apply(Roo.bootstrap.form.Form, {
     
     popover : {
         
@@ -742,7 +743,7 @@ Roo.apply(Roo.bootstrap.Form, {
             this.toolTip.show(tip);
 
             this.intervalID = window.setInterval(function() {
-                Roo.bootstrap.Form.popover.unmask();
+                Roo.bootstrap.form.Form.popover.unmask();
             }, 10000);
 
             window.onwheel = function(){ return false;};
diff --git a/Roo/bootstrap/HtmlEditor.js b/Roo/bootstrap/form/HtmlEditor.js
similarity index 93%
rename from Roo/bootstrap/HtmlEditor.js
rename to Roo/bootstrap/form/HtmlEditor.js
index 244d4de5df..e86dab7693 100644
--- a/Roo/bootstrap/HtmlEditor.js
+++ b/Roo/bootstrap/form/HtmlEditor.js
@@ -6,8 +6,8 @@
  */
 
 /**
- * @class Roo.bootstrap.HtmlEditor
- * @extends Roo.bootstrap.TextArea
+ * @class Roo.bootstrap.form.HtmlEditor
+ * @extends Roo.bootstrap.form.TextArea
  * Bootstrap HtmlEditor class
 
  * @constructor
@@ -15,8 +15,8 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.HtmlEditor = function(config){
-    Roo.bootstrap.HtmlEditor.superclass.constructor.call(this, config);
+Roo.bootstrap.form.HtmlEditor = function(config){
+    Roo.bootstrap.form.HtmlEditor.superclass.constructor.call(this, config);
     if (!this.toolbars) {
         this.toolbars = [];
     }
@@ -101,7 +101,7 @@ Roo.bootstrap.HtmlEditor = function(config){
 };
 
 
-Roo.extend(Roo.bootstrap.HtmlEditor, Roo.bootstrap.TextArea,  {
+Roo.extend(Roo.bootstrap.form.HtmlEditor, Roo.bootstrap.form.TextArea,  {
     
     
       /**
@@ -165,20 +165,20 @@ Roo.extend(Roo.bootstrap.HtmlEditor, Roo.bootstrap.TextArea,  {
         Roo.log('renewing');
         Roo.log("create toolbars");
         
-        this.toolbars = [ new Roo.bootstrap.htmleditor.ToolbarStandard({editor: this} ) ];
+        this.toolbars = [ new Roo.bootstrap.form.HtmlEditorToolbarStandard({editor: this} ) ];
         this.toolbars[0].render(this.toolbarContainer());
         
         return;
         
 //        if (!editor.toolbars || !editor.toolbars.length) {
-//            editor.toolbars = [ new Roo.bootstrap.HtmlEditor.ToolbarStandard() ]; // can be empty?
+//            editor.toolbars = [ new Roo.bootstrap.form.HtmlEditorToolbarStandard() ]; // can be empty?
 //        }
 //        
 //        for (var i =0 ; i < editor.toolbars.length;i++) {
 //            editor.toolbars[i] = Roo.factory(
 //                    typeof(editor.toolbars[i]) == 'string' ?
 //                        { xtype: editor.toolbars[i]} : editor.toolbars[i],
-//                Roo.bootstrap.HtmlEditor);
+//                Roo.bootstrap.form.HtmlEditor);
 //            editor.toolbars[i].init(editor);
 //        }
     },
@@ -189,7 +189,7 @@ Roo.extend(Roo.bootstrap.HtmlEditor, Roo.bootstrap.TextArea,  {
     {
        // Roo.log("Call onRender: " + this.xtype);
         var _t = this;
-        Roo.bootstrap.HtmlEditor.superclass.onRender.call(this, ct, position);
+        Roo.bootstrap.form.HtmlEditor.superclass.onRender.call(this, ct, position);
       
         this.wrap = this.inputEl().wrap({
             cls:'x-html-editor-wrap', cn:{cls:'x-html-editor-tb'}
@@ -231,7 +231,7 @@ Roo.extend(Roo.bootstrap.HtmlEditor, Roo.bootstrap.TextArea,  {
     onResize : function(w, h)
     {
         Roo.log('resize: ' +w + ',' + h );
-        Roo.bootstrap.HtmlEditor.superclass.onResize.apply(this, arguments);
+        Roo.bootstrap.form.HtmlEditor.superclass.onResize.apply(this, arguments);
         var ew = false;
         var eh = false;
         
@@ -331,7 +331,7 @@ Roo.extend(Roo.bootstrap.HtmlEditor, Roo.bootstrap.TextArea,  {
 //    clearInvalid : Roo.emptyFn,
 
     setValue : function(v){
-        Roo.bootstrap.HtmlEditor.superclass.setValue.call(this, v);
+        Roo.bootstrap.form.HtmlEditor.superclass.setValue.call(this, v);
         this.editorcore.pushValue();
     },
 
diff --git a/Roo/bootstrap/htmleditor/ToolbarStandard.js b/Roo/bootstrap/form/HtmlEditorToolbarStandard.js
similarity index 92%
rename from Roo/bootstrap/htmleditor/ToolbarStandard.js
rename to Roo/bootstrap/form/HtmlEditorToolbarStandard.js
index 0932cbf74f..002b0101e0 100644
--- a/Roo/bootstrap/htmleditor/ToolbarStandard.js
+++ b/Roo/bootstrap/form/HtmlEditorToolbarStandard.js
@@ -1,16 +1,18 @@
   
-Roo.namespace('Roo.bootstrap.htmleditor');
+Roo.namespace('Roo.bootstrap.form.HtmlEditor');
 /**
- * @class Roo.bootstrap.HtmlEditorToolbar1
+ * @class Roo.bootstrap.form.HtmlEditorToolbarStandard
+ * @parent Roo.bootstrap.form.HtmlEditor
+ * @extends Roo.bootstrap.nav.Simplebar
  * Basic Toolbar
  * 
  * @example
  * Usage:
  *
- new Roo.bootstrap.HtmlEditor({
+ new Roo.bootstrap.form.HtmlEditor({
     ....
     toolbars : [
-        new Roo.bootstrap.HtmlEditorToolbar1({
+        new Roo.bootstrap.form.HtmlEditorToolbarStandard({
             disable : { fonts: 1 , format: 1, ..., ... , ...],
             btns : [ .... ]
         })
@@ -25,7 +27,7 @@ Roo.namespace('Roo.bootstrap.htmleditor');
  * .x-html-editor-tb .x-edit-none .x-btn-text { background: none; }
  */
  
-Roo.bootstrap.htmleditor.ToolbarStandard = function(config)
+Roo.bootstrap.form.HtmlEditorToolbarStandard = function(config)
 {
     
     Roo.apply(this, config);
@@ -37,7 +39,7 @@ Roo.bootstrap.htmleditor.ToolbarStandard = function(config)
         colors : true,
         specialElements : true
     });
-    Roo.bootstrap.htmleditor.ToolbarStandard.superclass.constructor.call(this, config);
+    Roo.bootstrap.form.HtmlEditorToolbarStandard.superclass.constructor.call(this, config);
     
     this.editor = config.editor;
     this.editorcore = config.editor.editorcore;
@@ -47,7 +49,7 @@ Roo.bootstrap.htmleditor.ToolbarStandard = function(config)
     //Roo.form.HtmlEditorToolbar1.superclass.constructor.call(this, editor.wrap.dom.firstChild, [], config);
     // dont call parent... till later.
 }
-Roo.extend(Roo.bootstrap.htmleditor.ToolbarStandard, Roo.bootstrap.NavSimplebar,  {
+Roo.extend(Roo.bootstrap.form.HtmlEditorToolbarStandard, Roo.bootstrap.nav.Simplebar,  {
      
     bar : true,
     
@@ -67,7 +69,7 @@ Roo.extend(Roo.bootstrap.htmleditor.ToolbarStandard, Roo.bootstrap.NavSimplebar,
     {
        // Roo.log("Call onRender: " + this.xtype);
         
-       Roo.bootstrap.htmleditor.ToolbarStandard.superclass.onRender.call(this, ct, position);
+       Roo.bootstrap.form.HtmlEditorToolbarStandard.superclass.onRender.call(this, ct, position);
        Roo.log(this.el);
        this.el.dom.style.marginBottom = '0';
        var _this = this;
@@ -246,7 +248,7 @@ Roo.extend(Roo.bootstrap.htmleditor.ToolbarStandard, Roo.bootstrap.NavSimplebar,
         // hides menus... - so this cant be on a menu...
         Roo.bootstrap.MenuMgr.hideAll();
         */
-        Roo.bootstrap.MenuMgr.hideAll();
+        Roo.bootstrap.menu.Manager.hideAll();
         //this.editorsyncValue();
     },
     onFirstFocus: function() {
diff --git a/Roo/bootstrap/Input.js b/Roo/bootstrap/form/Input.js
similarity index 98%
rename from Roo/bootstrap/Input.js
rename to Roo/bootstrap/form/Input.js
index 1100f8e866..7fdabc35f6 100644
--- a/Roo/bootstrap/Input.js
+++ b/Roo/bootstrap/form/Input.js
@@ -6,15 +6,15 @@
  */
 
 /**
- * @class Roo.bootstrap.Input
+ * @class Roo.bootstrap.form.Input
  * @extends Roo.bootstrap.Component
  * Bootstrap Input class
  * @cfg {Boolean} disabled is it disabled
- * @cfg {String} (button|checkbox|email|file|hidden|image|number|password|radio|range|reset|search|submit|text) inputType 
+ * @cfg {String} inputType (button|checkbox|email|file|hidden|image|number|password|radio|range|reset|search|submit|text)  
  * @cfg {String} name name of the input
  * @cfg {string} fieldLabel - the label associated
  * @cfg {string} placeholder - placeholder to put in text.
- * @cfg {string}  before - input group add on before
+ * @cfg {string} before - input group add on before
  * @cfg {string} after - input group add on after
  * @cfg {string} size - (lg|sm) or leave empty..
  * @cfg {Number} xs colspan out of 12 for mobile-sized screens
@@ -34,7 +34,8 @@
  * @cfg {String} capture (user|camera) use for file input only. (default empty)
  * @cfg {String} accept (image|video|audio) use for file input only. (default empty)
  * @cfg {Boolean} preventMark Do not show tick or cross if error/success
-
+ * @cfg {Roo.bootstrap.Button} before Button to show before
+ * @cfg {Roo.bootstrap.Button} afterButton to show before
  * @cfg {String} align (left|center|right) Default left
  * @cfg {Boolean} forceFeedback (true|false) Default false
  * 
@@ -43,9 +44,9 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.Input = function(config){
+Roo.bootstrap.form.Input = function(config){
     
-    Roo.bootstrap.Input.superclass.constructor.call(this, config);
+    Roo.bootstrap.form.Input.superclass.constructor.call(this, config);
     
     this.addEvents({
         /**
@@ -106,7 +107,7 @@ Roo.bootstrap.Input = function(config){
     });
 };
 
-Roo.extend(Roo.bootstrap.Input, Roo.bootstrap.Component,  {
+Roo.extend(Roo.bootstrap.form.Input, Roo.bootstrap.Component,  {
      /**
      * @cfg {String/Boolean} validationEvent The event that should initiate field validation. Set to false to disable
       automatic validation (defaults to "keyup").
diff --git a/Roo/bootstrap/Markdown.js b/Roo/bootstrap/form/Markdown.js
similarity index 84%
rename from Roo/bootstrap/Markdown.js
rename to Roo/bootstrap/form/Markdown.js
index 8b0447e075..f30307ee6c 100644
--- a/Roo/bootstrap/Markdown.js
+++ b/Roo/bootstrap/form/Markdown.js
@@ -4,8 +4,8 @@
  */
 
 /**
- * @class Roo.bootstrap.Markdown
- * @extends Roo.bootstrap.TextArea
+ * @class Roo.bootstrap.form.Markdown
+ * @extends Roo.bootstrap.form.TextArea
  * Bootstrap Showdown editable area
  * @cfg {string} content
  * 
@@ -13,19 +13,19 @@
  * Create a new Showdown
  */
 
-Roo.bootstrap.Markdown = function(config){
-    Roo.bootstrap.Markdown.superclass.constructor.call(this, config);
+Roo.bootstrap.form.Markdown = function(config){
+    Roo.bootstrap.form.Markdown.superclass.constructor.call(this, config);
    
 };
 
-Roo.extend(Roo.bootstrap.Markdown, Roo.bootstrap.TextArea,  {
+Roo.extend(Roo.bootstrap.form.Markdown, Roo.bootstrap.form.TextArea,  {
     
     editing :false,
     
     initEvents : function()
     {
         
-        Roo.bootstrap.TextArea.prototype.initEvents.call(this);
+        Roo.bootstrap.form.TextArea.prototype.initEvents.call(this);
         this.markdownEl = this.el.createChild({
             cls : 'roo-markdown-area'
         });
@@ -78,7 +78,7 @@ Roo.extend(Roo.bootstrap.Markdown, Roo.bootstrap.TextArea,  {
     },
     setValue : function(val)
     {
-        Roo.bootstrap.TextArea.prototype.setValue.call(this,val);
+        Roo.bootstrap.form.TextArea.prototype.setValue.call(this,val);
         if (!this.editing) {
             this.updateMarkdown();
         }
diff --git a/Roo/bootstrap/MoneyField.js b/Roo/bootstrap/form/MoneyField.js
similarity index 97%
rename from Roo/bootstrap/MoneyField.js
rename to Roo/bootstrap/form/MoneyField.js
index f681c79fb2..21852b8668 100644
--- a/Roo/bootstrap/MoneyField.js
+++ b/Roo/bootstrap/form/MoneyField.js
@@ -1,7 +1,7 @@
 
 /**
- * @class Roo.bootstrap.MoneyField
- * @extends Roo.bootstrap.ComboBox
+ * @class Roo.bootstrap.form.MoneyField
+ * @extends Roo.bootstrap.form.ComboBox
  * Bootstrap MoneyField class
  * 
  * @constructor
@@ -9,13 +9,13 @@
  * @param {Object} config Configuration options
  */
 
-Roo.bootstrap.MoneyField = function(config) {
+Roo.bootstrap.form.MoneyField = function(config) {
     
-    Roo.bootstrap.MoneyField.superclass.constructor.call(this, config);
+    Roo.bootstrap.form.MoneyField.superclass.constructor.call(this, config);
     
 };
 
-Roo.extend(Roo.bootstrap.MoneyField, Roo.bootstrap.ComboBox, {
+Roo.extend(Roo.bootstrap.form.MoneyField, Roo.bootstrap.form.ComboBox, {
     
     /**
      * @cfg {Boolean} allowDecimals False to disallow decimal values (defaults to true)
@@ -80,7 +80,9 @@ Roo.extend(Roo.bootstrap.MoneyField, Roo.bootstrap.ComboBox, {
     inputmd : 9,
     inputsm : 9,
     inputxs : 6,
-    
+     /**
+     * @cfg {Roo.data.Store} store  Store to lookup currency??
+     */
     store : false,
     
     getAutoCreate : function()
@@ -619,7 +621,7 @@ Roo.extend(Roo.bootstrap.MoneyField, Roo.bootstrap.ComboBox, {
     
     validateValue : function(value)
     {
-        if(!Roo.bootstrap.MoneyField.superclass.validateValue.call(this, value)){
+        if(!Roo.bootstrap.form.MoneyField.superclass.validateValue.call(this, value)){
             return false;
         }
         
diff --git a/Roo/bootstrap/MonthField.js b/Roo/bootstrap/form/MonthField.js
similarity index 80%
rename from Roo/bootstrap/MonthField.js
rename to Roo/bootstrap/form/MonthField.js
index 9348c26d1c..aec28b9b9c 100644
--- a/Roo/bootstrap/MonthField.js
+++ b/Roo/bootstrap/form/MonthField.js
@@ -6,8 +6,8 @@
  */
 
 /**
- * @class Roo.bootstrap.MonthField
- * @extends Roo.bootstrap.Input
+ * @class Roo.bootstrap.form.MonthField
+ * @extends Roo.bootstrap.form.Input
  * Bootstrap MonthField class
  * 
  * @cfg {String} language default en
@@ -17,28 +17,28 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.MonthField = function(config){
-    Roo.bootstrap.MonthField.superclass.constructor.call(this, config);
+Roo.bootstrap.form.MonthField = function(config){
+    Roo.bootstrap.form.MonthField.superclass.constructor.call(this, config);
     
     this.addEvents({
         /**
          * @event show
          * Fires when this field show.
-         * @param {Roo.bootstrap.MonthField} this
+         * @param {Roo.bootstrap.form.MonthField} this
          * @param {Mixed} date The date value
          */
         show : true,
         /**
          * @event show
          * Fires when this field hide.
-         * @param {Roo.bootstrap.MonthField} this
+         * @param {Roo.bootstrap.form.MonthField} this
          * @param {Mixed} date The date value
          */
         hide : true,
         /**
          * @event select
          * Fires when select a date.
-         * @param {Roo.bootstrap.MonthField} this
+         * @param {Roo.bootstrap.form.MonthField} this
          * @param {String} oldvalue The old value
          * @param {String} newvalue The new value
          */
@@ -46,25 +46,25 @@ Roo.bootstrap.MonthField = function(config){
     });
 };
 
-Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
+Roo.extend(Roo.bootstrap.form.MonthField, Roo.bootstrap.form.Input,  {
     
     onRender: function(ct, position)
     {
         
-        Roo.bootstrap.MonthField.superclass.onRender.call(this, ct, position);
+        Roo.bootstrap.form.MonthField.superclass.onRender.call(this, ct, position);
         
         this.language = this.language || 'en';
-        this.language = this.language in Roo.bootstrap.MonthField.dates ? this.language : this.language.split('-')[0];
-        this.language = this.language in Roo.bootstrap.MonthField.dates ? this.language : "en";
+        this.language = this.language in Roo.bootstrap.form.MonthField.dates ? this.language : this.language.split('-')[0];
+        this.language = this.language in Roo.bootstrap.form.MonthField.dates ? this.language : "en";
         
-        this.isRTL = Roo.bootstrap.MonthField.dates[this.language].rtl || false;
+        this.isRTL = Roo.bootstrap.form.MonthField.dates[this.language].rtl || false;
         this.isInline = false;
         this.isInput = true;
         this.component = this.el.select('.add-on', true).first() || false;
         this.component = (this.component && this.component.length === 0) ? false : this.component;
         this.hasInput = this.component && this.inputEL().length;
         
-        this.pickerEl = Roo.get(document.body).createChild(Roo.bootstrap.MonthField.template);
+        this.pickerEl = Roo.get(document.body).createChild(Roo.bootstrap.form.MonthField.template);
         
         this.picker().setVisibilityMode(Roo.Element.DISPLAY).originalDisplay = 'block';
         
@@ -91,7 +91,7 @@ Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
     {   
         var o = this.getValue();
         
-        Roo.bootstrap.MonthField.superclass.setValue.call(this, v);
+        Roo.bootstrap.form.MonthField.superclass.setValue.call(this, v);
         
         this.update();
 
@@ -125,9 +125,9 @@ Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
             return;
         }
         
-        this.vIndex = Roo.bootstrap.MonthField.dates[this.language].monthsShort.indexOf(html);
+        this.vIndex = Roo.bootstrap.form.MonthField.dates[this.language].monthsShort.indexOf(html);
         
-        this.setValue(Roo.bootstrap.MonthField.dates[this.language].months[this.vIndex]);
+        this.setValue(Roo.bootstrap.form.MonthField.dates[this.language].months[this.vIndex]);
         
         this.hide();
                         
@@ -149,7 +149,7 @@ Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
             var month = {
                 tag: 'span',
                 cls: 'month',
-                html: Roo.bootstrap.MonthField.dates[this.language].monthsShort[i++]
+                html: Roo.bootstrap.form.MonthField.dates[this.language].monthsShort[i++]
             };
             
             months.createChild(month);
@@ -162,7 +162,7 @@ Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
         var _this = this;
         
         if(typeof(this.vIndex) == 'undefined' && this.value.length){
-            this.vIndex = Roo.bootstrap.MonthField.dates[this.language].months.indexOf(this.value);
+            this.vIndex = Roo.bootstrap.form.MonthField.dates[this.language].months.indexOf(this.value);
         }
         
         Roo.each(this.pickerEl.select('> .datepicker-months tbody > tr > td > span', true).elements, function(e, k){
@@ -201,13 +201,13 @@ Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
     
     onFocus : function()
     {
-        Roo.bootstrap.MonthField.superclass.onFocus.call(this);
+        Roo.bootstrap.form.MonthField.superclass.onFocus.call(this);
         this.show();
     },
     
     onBlur : function()
     {
-        Roo.bootstrap.MonthField.superclass.onBlur.call(this);
+        Roo.bootstrap.form.MonthField.superclass.onBlur.call(this);
         
         var d = this.inputEl().getValue();
         
@@ -244,7 +244,7 @@ Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
     
     keyup: function(e)
     {
-        Roo.bootstrap.MonthField.superclass.keyup.call(this);
+        Roo.bootstrap.form.MonthField.superclass.keyup.call(this);
         this.update();
     },
 
@@ -282,7 +282,7 @@ Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
                     this.vIndex = 0;
                 }
                 
-                this.setValue(Roo.bootstrap.MonthField.dates[this.language].months[this.vIndex]);
+                this.setValue(Roo.bootstrap.form.MonthField.dates[this.language].months[this.vIndex]);
                 
                 break;
             case 38: // up
@@ -304,13 +304,13 @@ Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
                     this.vIndex = 0;
                 }
                 
-                this.setValue(Roo.bootstrap.MonthField.dates[this.language].months[this.vIndex]);
+                this.setValue(Roo.bootstrap.form.MonthField.dates[this.language].months[this.vIndex]);
                 break;
                 
             case 13: // enter
                 
                 if(typeof(this.vIndex) != 'undefined' && !isNaN(this.vIndex)){
-                    this.setValue(Roo.bootstrap.MonthField.dates[this.language].months[this.vIndex]);
+                    this.setValue(Roo.bootstrap.form.MonthField.dates[this.language].months[this.vIndex]);
                 }
                 
                 this.hide();
@@ -318,7 +318,7 @@ Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
                 break;
             case 9: // tab
                 if(typeof(this.vIndex) != 'undefined' && !isNaN(this.vIndex)){
-                    this.setValue(Roo.bootstrap.MonthField.dates[this.language].months[this.vIndex]);
+                    this.setValue(Roo.bootstrap.form.MonthField.dates[this.language].months[this.vIndex]);
                 }
                 this.hide();
                 break;
@@ -339,7 +339,7 @@ Roo.extend(Roo.bootstrap.MonthField, Roo.bootstrap.Input,  {
    
 });
 
-Roo.apply(Roo.bootstrap.MonthField,  {
+Roo.apply(Roo.bootstrap.form.MonthField,  {
     
     content : {
         tag: 'tbody',
@@ -364,7 +364,7 @@ Roo.apply(Roo.bootstrap.MonthField,  {
     }
 });
 
-Roo.apply(Roo.bootstrap.MonthField,  {
+Roo.apply(Roo.bootstrap.form.MonthField,  {
   
     template : {
         tag: 'div',
@@ -378,7 +378,7 @@ Roo.apply(Roo.bootstrap.MonthField,  {
                     tag: 'table',
                     cls: 'table-condensed',
                     cn:[
-                        Roo.bootstrap.DateField.content
+                        Roo.bootstrap.form.DateField.content
                     ]
                 }
                 ]
diff --git a/Roo/bootstrap/NumberField.js b/Roo/bootstrap/form/NumberField.js
similarity index 92%
rename from Roo/bootstrap/NumberField.js
rename to Roo/bootstrap/form/NumberField.js
index e82d69fc92..1cf7017b5d 100644
--- a/Roo/bootstrap/NumberField.js
+++ b/Roo/bootstrap/form/NumberField.js
@@ -5,8 +5,8 @@
  */
 
 /**
- * @class Roo.bootstrap.NumberField
- * @extends Roo.bootstrap.Input
+ * @class Roo.bootstrap.form.NumberField
+ * @extends Roo.bootstrap.form.Input
  * Bootstrap NumberField class
  * 
  * 
@@ -17,11 +17,11 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.NumberField = function(config){
-    Roo.bootstrap.NumberField.superclass.constructor.call(this, config);
+Roo.bootstrap.form.NumberField = function(config){
+    Roo.bootstrap.form.NumberField.superclass.constructor.call(this, config);
 };
 
-Roo.extend(Roo.bootstrap.NumberField, Roo.bootstrap.Input, {
+Roo.extend(Roo.bootstrap.form.NumberField, Roo.bootstrap.form.Input, {
     
     /**
      * @cfg {Boolean} allowDecimals False to disallow decimal values (defaults to true)
@@ -89,7 +89,7 @@ Roo.extend(Roo.bootstrap.NumberField, Roo.bootstrap.Input, {
         
         this.name = '';
         
-        var cfg = Roo.bootstrap.NumberField.superclass.getAutoCreate.call(this);
+        var cfg = Roo.bootstrap.form.NumberField.superclass.getAutoCreate.call(this);
         
         this.name = hiddenInput.name;
         
@@ -103,7 +103,7 @@ Roo.extend(Roo.bootstrap.NumberField, Roo.bootstrap.Input, {
     // private
     initEvents : function()
     {   
-        Roo.bootstrap.NumberField.superclass.initEvents.call(this);
+        Roo.bootstrap.form.NumberField.superclass.initEvents.call(this);
         
         var allowed = "0123456789";
         
@@ -150,7 +150,7 @@ Roo.extend(Roo.bootstrap.NumberField, Roo.bootstrap.Input, {
     validateValue : function(value)
     {
         
-        if(!Roo.bootstrap.NumberField.superclass.validateValue.call(this, value)){
+        if(!Roo.bootstrap.form.NumberField.superclass.validateValue.call(this, value)){
             return false;
         }
         
diff --git a/Roo/bootstrap/PhoneInput.js b/Roo/bootstrap/form/PhoneInput.js
similarity index 96%
rename from Roo/bootstrap/PhoneInput.js
rename to Roo/bootstrap/form/PhoneInput.js
index fae2356670..e9513665f7 100644
--- a/Roo/bootstrap/PhoneInput.js
+++ b/Roo/bootstrap/form/PhoneInput.js
@@ -7,8 +7,8 @@
 **/
 
 /**
- * @class Roo.bootstrap.PhoneInput
- * @extends Roo.bootstrap.TriggerField
+ * @class Roo.bootstrap.form.PhoneInput
+ * @extends Roo.bootstrap.form.TriggerField
  * An input with International dial-code selection
  
  * @cfg {String} defaultDialCode default '+852'
@@ -19,12 +19,14 @@
  * @param {Object} config Configuration options
  */
 
-Roo.bootstrap.PhoneInput = function(config) {
-    Roo.bootstrap.PhoneInput.superclass.constructor.call(this, config);
+Roo.bootstrap.form.PhoneInput = function(config) {
+    Roo.bootstrap.form.PhoneInput.superclass.constructor.call(this, config);
 };
 
-Roo.extend(Roo.bootstrap.PhoneInput, Roo.bootstrap.TriggerField, {
-        
+Roo.extend(Roo.bootstrap.form.PhoneInput, Roo.bootstrap.form.TriggerField, {
+        /**
+        * @cfg {Roo.data.Store} store [required] The data store to which this combo is bound (defaults to undefined)
+        */
         listWidth: undefined,
         
         selectedClass: 'active',
@@ -49,7 +51,7 @@ Roo.extend(Roo.bootstrap.PhoneInput, Roo.bootstrap.TriggerField, {
         
         getAutoCreate : function()
         {
-            var data = Roo.bootstrap.PhoneInputData();
+            var data = Roo.bootstrap.form.PhoneInputData();
             var align = this.labelAlign || this.parentLabelAlign();
             var id = Roo.id();
             
@@ -277,7 +279,7 @@ Roo.extend(Roo.bootstrap.PhoneInput, Roo.bootstrap.TriggerField, {
         initEvents : function()
         {
             this.createList();
-            Roo.bootstrap.PhoneInput.superclass.initEvents.call(this);
+            Roo.bootstrap.form.PhoneInput.superclass.initEvents.call(this);
             
             this.indicator = this.indicatorEl();
             this.flag = this.flagEl();
diff --git a/Roo/bootstrap/PhoneInputData.js b/Roo/bootstrap/form/PhoneInputData.js
similarity index 99%
rename from Roo/bootstrap/PhoneInputData.js
rename to Roo/bootstrap/form/PhoneInputData.js
index 88039e097e..c3075d6e60 100644
--- a/Roo/bootstrap/PhoneInputData.js
+++ b/Roo/bootstrap/form/PhoneInputData.js
@@ -6,7 +6,7 @@
 *    Availability: https://github.com/jackocnr/intl-tel-input.git
 **/
 
-Roo.bootstrap.PhoneInputData = function() {
+Roo.bootstrap.form.PhoneInputData = function() {
     var d = [
       [
         "Afghanistan (‫افغانستان‬‎)",
diff --git a/Roo/bootstrap/Radio.js b/Roo/bootstrap/form/Radio.js
similarity index 86%
rename from Roo/bootstrap/Radio.js
rename to Roo/bootstrap/form/Radio.js
index cddcdd1169..6d51e4b4bf 100644
--- a/Roo/bootstrap/Radio.js
+++ b/Roo/bootstrap/form/Radio.js
@@ -6,7 +6,7 @@
  */
 
 /**
- * @class Roo.bootstrap.Radio
+ * @class Roo.bootstrap.form.Radio
  * @extends Roo.bootstrap.Component
  * Bootstrap Radio class
  * @cfg {String} boxLabel - the label associated
@@ -16,12 +16,12 @@
  * Create a new Radio
  * @param {Object} config The config object
  */
-Roo.bootstrap.Radio = function(config){
-    Roo.bootstrap.Radio.superclass.constructor.call(this, config);
+Roo.bootstrap.form.Radio = function(config){
+    Roo.bootstrap.form.Radio.superclass.constructor.call(this, config);
     
 };
 
-Roo.extend(Roo.bootstrap.Radio, Roo.bootstrap.Component, {
+Roo.extend(Roo.bootstrap.form.Radio, Roo.bootstrap.Component, {
     
     boxLabel : '',
     
diff --git a/Roo/bootstrap/RadioSet.js b/Roo/bootstrap/form/RadioSet.js
similarity index 92%
rename from Roo/bootstrap/RadioSet.js
rename to Roo/bootstrap/form/RadioSet.js
index a1ff9f34cd..b43b151e8a 100644
--- a/Roo/bootstrap/RadioSet.js
+++ b/Roo/bootstrap/form/RadioSet.js
@@ -7,8 +7,9 @@
  */
 
 /**
- * @class Roo.bootstrap.RadioSet
- * @extends Roo.bootstrap.Input
+ * @class Roo.bootstrap.form.RadioSet
+ * @extends Roo.bootstrap.form.Input
+ * @children Roo.bootstrap.form.Radio
  * Bootstrap RadioSet class
  * @cfg {String} indicatorpos (left|right) default left
  * @cfg {Boolean} inline (true|false) inline the element (default true)
@@ -18,27 +19,27 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.RadioSet = function(config){
+Roo.bootstrap.form.RadioSet = function(config){
     
-    Roo.bootstrap.RadioSet.superclass.constructor.call(this, config);
+    Roo.bootstrap.form.RadioSet.superclass.constructor.call(this, config);
     
     this.radioes = [];
     
-    Roo.bootstrap.RadioSet.register(this);
+    Roo.bootstrap.form.RadioSet.register(this);
     
     this.addEvents({
         /**
         * @event check
         * Fires when the element is checked or unchecked.
-        * @param {Roo.bootstrap.RadioSet} this This radio
-        * @param {Roo.bootstrap.Radio} item The checked item
+        * @param {Roo.bootstrap.form.RadioSet} this This radio
+        * @param {Roo.bootstrap.form.Radio} item The checked item
         */
        check : true,
        /**
         * @event click
         * Fires when the element is click.
-        * @param {Roo.bootstrap.RadioSet} this This radio set
-        * @param {Roo.bootstrap.Radio} item The checked item
+        * @param {Roo.bootstrap.form.RadioSet} this This radio set
+        * @param {Roo.bootstrap.form.Radio} item The checked item
         * @param {Roo.EventObject} e The event object
         */
        click : true
@@ -46,7 +47,7 @@ Roo.bootstrap.RadioSet = function(config){
     
 };
 
-Roo.extend(Roo.bootstrap.RadioSet, Roo.bootstrap.Input,  {
+Roo.extend(Roo.bootstrap.form.RadioSet, Roo.bootstrap.form.Input,  {
 
     radioes : false,
     
@@ -322,7 +323,7 @@ Roo.extend(Roo.bootstrap.RadioSet, Roo.bootstrap.Input,  {
     
 });
 
-Roo.apply(Roo.bootstrap.RadioSet, {
+Roo.apply(Roo.bootstrap.form.RadioSet, {
     
     groups: {},
     
diff --git a/Roo/bootstrap/SecurePass.js b/Roo/bootstrap/form/SecurePass.js
similarity index 94%
rename from Roo/bootstrap/SecurePass.js
rename to Roo/bootstrap/form/SecurePass.js
index bbb84ca8d1..e921d79187 100644
--- a/Roo/bootstrap/SecurePass.js
+++ b/Roo/bootstrap/form/SecurePass.js
@@ -6,8 +6,8 @@
  */
 
 /**
- * @class Roo.bootstrap.SecurePass
- * @extends Roo.bootstrap.Input
+ * @class Roo.bootstrap.form.SecurePass
+ * @extends Roo.bootstrap.form.Input
  * Bootstrap SecurePass class
  *
  * 
@@ -16,7 +16,7 @@
  * @param {Object} config The config object
  */
  
-Roo.bootstrap.SecurePass = function (config) {
+Roo.bootstrap.form.SecurePass = function (config) {
     // these go here, so the translation tool can replace them..
     this.errors = {
         PwdEmpty: "Please type a password, and then retype it to confirm.",
@@ -40,10 +40,10 @@ Roo.bootstrap.SecurePass = function (config) {
     
     this.errors = {};
     
-    Roo.bootstrap.SecurePass.superclass.constructor.call(this, config);
+    Roo.bootstrap.form.SecurePass.superclass.constructor.call(this, config);
 }
 
-Roo.extend(Roo.bootstrap.SecurePass, Roo.bootstrap.Input, {
+Roo.extend(Roo.bootstrap.form.SecurePass, Roo.bootstrap.form.Input, {
     /**
      * @cfg {String/Object} errors A Error spec, or true for a default spec (defaults to
      * {
@@ -88,7 +88,7 @@ Roo.extend(Roo.bootstrap.SecurePass, Roo.bootstrap.Input, {
     // private
     initEvents: function ()
     {
-        Roo.bootstrap.SecurePass.superclass.initEvents.call(this);
+        Roo.bootstrap.form.SecurePass.superclass.initEvents.call(this);
 
         if (this.el.is('input[type=password]') && Roo.isSafari) {
             this.el.on('keydown', this.SafariOnKeyDown, this);
@@ -99,7 +99,7 @@ Roo.extend(Roo.bootstrap.SecurePass, Roo.bootstrap.Input, {
     // private
     onRender: function (ct, position)
     {
-        Roo.bootstrap.SecurePass.superclass.onRender.call(this, ct, position);
+        Roo.bootstrap.form.SecurePass.superclass.onRender.call(this, ct, position);
         this.wrap = this.el.wrap({cls: 'x-form-field-wrap'});
         this.trigger = this.wrap.createChild({tag: 'div', cls: 'StrengthMeter ' + this.triggerClass});
 
@@ -136,7 +136,7 @@ Roo.extend(Roo.bootstrap.SecurePass, Roo.bootstrap.Input, {
         if (this.wrap) {
             this.wrap.remove();
         }
-        Roo.bootstrap.TriggerField.superclass.onDestroy.call(this);
+        Roo.bootstrap.form.TriggerField.superclass.onDestroy.call(this);
     },
     // private
     checkStrength: function ()
@@ -173,7 +173,7 @@ Roo.extend(Roo.bootstrap.SecurePass, Roo.bootstrap.Input, {
     },
     reset: function ()
     {
-        Roo.bootstrap.SecurePass.superclass.reset.call(this);
+        Roo.bootstrap.form.SecurePass.superclass.reset.call(this);
         
         this._lastPwd = '';
         
@@ -190,7 +190,7 @@ Roo.extend(Roo.bootstrap.SecurePass, Roo.bootstrap.Input, {
     // private
     validateValue: function (value)
     {
-        if (!Roo.bootstrap.SecurePass.superclass.validateValue.call(this, value)) {
+        if (!Roo.bootstrap.form.SecurePass.superclass.validateValue.call(this, value)) {
             return false;
         }
         if (value.length == 0) {
diff --git a/Roo/bootstrap/TextArea.js b/Roo/bootstrap/form/TextArea.js
similarity index 97%
rename from Roo/bootstrap/TextArea.js
rename to Roo/bootstrap/form/TextArea.js
index 3eb51d9c30..d76f2599fc 100644
--- a/Roo/bootstrap/TextArea.js
+++ b/Roo/bootstrap/form/TextArea.js
@@ -6,8 +6,8 @@
  */
 
 /**
- * @class Roo.bootstrap.TextArea
- * @extends Roo.bootstrap.Input
+ * @class Roo.bootstrap.form.TextArea
+ * @extends Roo.bootstrap.form.Input
  * Bootstrap TextArea class
  * @cfg {Number} cols Specifies the visible width of a text area
  * @cfg {Number} rows Specifies the visible number of lines in a text area
@@ -20,12 +20,12 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.TextArea = function(config){
-    Roo.bootstrap.TextArea.superclass.constructor.call(this, config);
+Roo.bootstrap.form.TextArea = function(config){
+    Roo.bootstrap.form.TextArea.superclass.constructor.call(this, config);
    
 };
 
-Roo.extend(Roo.bootstrap.TextArea, Roo.bootstrap.Input,  {
+Roo.extend(Roo.bootstrap.form.TextArea, Roo.bootstrap.form.Input,  {
      
     cols : false,
     rows : 5,
diff --git a/Roo/bootstrap/TimeField.js b/Roo/bootstrap/form/TimeField.js
similarity index 94%
rename from Roo/bootstrap/TimeField.js
rename to Roo/bootstrap/form/TimeField.js
index b258728282..4138a9756b 100644
--- a/Roo/bootstrap/TimeField.js
+++ b/Roo/bootstrap/form/TimeField.js
@@ -6,8 +6,8 @@
  */
 
 /**
- * @class Roo.bootstrap.TimeField
- * @extends Roo.bootstrap.Input
+ * @class Roo.bootstrap.form.TimeField
+ * @extends Roo.bootstrap.form.Input
  * Bootstrap DateField class
  * 
  * 
@@ -16,34 +16,34 @@
  * @param {Object} config The config object
  */
 
-Roo.bootstrap.TimeField = function(config){
-    Roo.bootstrap.TimeField.superclass.constructor.call(this, config);
+Roo.bootstrap.form.TimeField = function(config){
+    Roo.bootstrap.form.TimeField.superclass.constructor.call(this, config);
     this.addEvents({
             /**
              * @event show
              * Fires when this field show.
-             * @param {Roo.bootstrap.DateField} thisthis
+             * @param {Roo.bootstrap.form.DateField} thisthis
              * @param {Mixed} date The date value
              */
             show : true,
             /**
              * @event show
              * Fires when this field hide.
-             * @param {Roo.bootstrap.DateField} this
+             * @param {Roo.bootstrap.form.DateField} this
              * @param {Mixed} date The date value
              */
             hide : true,
             /**
              * @event select
              * Fires when select a date.
-             * @param {Roo.bootstrap.DateField} this
+             * @param {Roo.bootstrap.form.DateField} this
              * @param {Mixed} date The date value
              */
             select : true
         });
 };
 
-Roo.extend(Roo.bootstrap.TimeField, Roo.bootstrap.Input,  {
+Roo.extend(Roo.bootstrap.form.TimeField, Roo.bootstrap.form.Input,  {
     
     /**
      * @cfg {String} format
@@ -55,16 +55,16 @@ Roo.extend(Roo.bootstrap.TimeField, Roo.bootstrap.Input,  {
     getAutoCreate : function()
     {
         this.after = '';
-        return Roo.bootstrap.TimeField.superclass.getAutoCreate.call(this);
+        return Roo.bootstrap.form.TimeField.superclass.getAutoCreate.call(this);
         
          
     },
     onRender: function(ct, position)
     {
         
-        Roo.bootstrap.TimeField.superclass.onRender.call(this, ct, position);
+        Roo.bootstrap.form.TimeField.superclass.onRender.call(this, ct, position);
                 
-        this.pickerEl = Roo.get(document.body).createChild(Roo.bootstrap.TimeField.template);
+        this.pickerEl = Roo.get(document.body).createChild(Roo.bootstrap.form.TimeField.template);
         
         this.picker().setVisibilityMode(Roo.Element.DISPLAY).originalDisplay = 'block';
         
@@ -370,13 +370,13 @@ Roo.extend(Roo.bootstrap.TimeField, Roo.bootstrap.Input,  {
   
     onFocus : function()
     {
-        Roo.bootstrap.TimeField.superclass.onFocus.call(this);
+        Roo.bootstrap.form.TimeField.superclass.onFocus.call(this);
         this.show();
     },
     
     onBlur : function()
     {
-        Roo.bootstrap.TimeField.superclass.onBlur.call(this);
+        Roo.bootstrap.form.TimeField.superclass.onBlur.call(this);
         this.hide();
     },
     
@@ -453,7 +453,7 @@ Roo.extend(Roo.bootstrap.TimeField, Roo.bootstrap.Input,  {
 });
  
 
-Roo.apply(Roo.bootstrap.TimeField,  {
+Roo.apply(Roo.bootstrap.form.TimeField,  {
   
     template : {
         tag: 'div',
diff --git a/Roo/bootstrap/TriggerField.js b/Roo/bootstrap/form/TriggerField.js
similarity index 94%
rename from Roo/bootstrap/TriggerField.js
rename to Roo/bootstrap/form/TriggerField.js
index 73731e487d..c85102f5e5 100644
--- a/Roo/bootstrap/TriggerField.js
+++ b/Roo/bootstrap/form/TriggerField.js
@@ -6,35 +6,35 @@
  */
  
 /**
- * @class Roo.bootstrap.TriggerField
- * @extends Roo.bootstrap.Input
+ * @class Roo.bootstrap.form.TriggerField
+ * @extends Roo.bootstrap.form.Input
  * Provides a convenient wrapper for TextFields that adds a clickable trigger button (looks like a combobox by default).
  * The trigger has no default action, so you must assign a function to implement the trigger click handler by
  * overriding {@link #onTriggerClick}. You can create a TriggerField directly, as it renders exactly like a combobox
  * for which you can provide a custom implementation.  For example:
  * 

-var trigger = new Roo.bootstrap.TriggerField();
+var trigger = new Roo.bootstrap.form.TriggerField();
 trigger.onTriggerClick = myTriggerFn;
 trigger.applyTo('my-field');
 
* * However, in general you will most likely want to use TriggerField as the base class for a reusable component. - * {@link Roo.bootstrap.DateField} and {@link Roo.bootstrap.ComboBox} are perfect examples of this. + * {@link Roo.bootstrap.form.DateField} and {@link Roo.bootstrap.form.ComboBox} are perfect examples of this. * @cfg {String} triggerClass An additional CSS class used to style the trigger button. The trigger will always get the * class 'x-form-trigger' by default and triggerClass will be appended if specified. * @cfg {String} caret (search|calendar) BS3 only - carat fa name * @constructor * Create a new TriggerField. - * @param {Object} config Configuration options (valid {@Roo.bootstrap.Input} config options will also be applied + * @param {Object} config Configuration options (valid {@Roo.bootstrap.form.Input} config options will also be applied * to the base TextField) */ -Roo.bootstrap.TriggerField = function(config){ +Roo.bootstrap.form.TriggerField = function(config){ this.mimicing = false; - Roo.bootstrap.TriggerField.superclass.constructor.call(this, config); + Roo.bootstrap.form.TriggerField.superclass.constructor.call(this, config); }; -Roo.extend(Roo.bootstrap.TriggerField, Roo.bootstrap.Input, { +Roo.extend(Roo.bootstrap.form.TriggerField, Roo.bootstrap.form.Input, { /** * @cfg {String} triggerClass A CSS class to apply to the trigger */ @@ -400,7 +400,7 @@ Roo.extend(Roo.bootstrap.TriggerField, Roo.bootstrap.Input, { // private onResize : function(w, h){ -// Roo.bootstrap.TriggerField.superclass.onResize.apply(this, arguments); +// Roo.bootstrap.form.TriggerField.superclass.onResize.apply(this, arguments); // if(typeof w == 'number'){ // var x = w - this.trigger.getWidth(); // this.inputEl().setWidth(this.adjustWidth('input', x)); @@ -431,7 +431,7 @@ Roo.extend(Roo.bootstrap.TriggerField, Roo.bootstrap.Input, { this.createList(); - Roo.bootstrap.TriggerField.superclass.initEvents.call(this); + Roo.bootstrap.form.TriggerField.superclass.initEvents.call(this); //this.wrap = this.el.wrap({cls: "x-form-field-wrap"}); if(!this.multiple && this.showToggleBtn){ this.trigger = this.el.select('span.dropdown-toggle',true).first(); @@ -504,12 +504,12 @@ Roo.extend(Roo.bootstrap.TriggerField, Roo.bootstrap.Input, { //if(this.wrap){ // this.wrap.remove(); //} - Roo.bootstrap.TriggerField.superclass.onDestroy.call(this); + Roo.bootstrap.form.TriggerField.superclass.onDestroy.call(this); }, // private onFocus : function(){ - Roo.bootstrap.TriggerField.superclass.onFocus.call(this); + Roo.bootstrap.form.TriggerField.superclass.onFocus.call(this); /* if(!this.mimicing){ this.wrap.addClass('x-trigger-wrap-focus'); @@ -551,7 +551,7 @@ Roo.extend(Roo.bootstrap.TriggerField, Roo.bootstrap.Input, { this.el.un("keydown", this.checkTab, this); } //this.wrap.removeClass('x-trigger-wrap-focus'); - Roo.bootstrap.TriggerField.superclass.onBlur.call(this); + Roo.bootstrap.form.TriggerField.superclass.onBlur.call(this); }, // private @@ -563,7 +563,7 @@ Roo.extend(Roo.bootstrap.TriggerField, Roo.bootstrap.Input, { // private onDisable : function(){ this.inputEl().dom.disabled = true; - //Roo.bootstrap.TriggerField.superclass.onDisable.call(this); + //Roo.bootstrap.form.TriggerField.superclass.onDisable.call(this); //if(this.wrap){ // this.wrap.addClass('x-item-disabled'); //} @@ -572,7 +572,7 @@ Roo.extend(Roo.bootstrap.TriggerField, Roo.bootstrap.Input, { // private onEnable : function(){ this.inputEl().dom.disabled = false; - //Roo.bootstrap.TriggerField.superclass.onEnable.call(this); + //Roo.bootstrap.form.TriggerField.superclass.onEnable.call(this); //if(this.wrap){ // this.el.removeClass('x-item-disabled'); //} diff --git a/Roo/bootstrap/form/deprecated.js b/Roo/bootstrap/form/deprecated.js new file mode 100644 index 0000000000..4837a89dce --- /dev/null +++ b/Roo/bootstrap/form/deprecated.js @@ -0,0 +1,23 @@ +// old names for form elements +Roo.bootstrap.Form = Roo.bootstrap.form.Form; +Roo.bootstrap.Input = Roo.bootstrap.form.Input; +Roo.bootstrap.TextArea = Roo.bootstrap.form.TextArea; +Roo.bootstrap.TriggerField = Roo.bootstrap.form.TriggerField; +Roo.bootstrap.ComboBox = Roo.bootstrap.form.ComboBox; +Roo.bootstrap.DateField = Roo.bootstrap.form.DateField; +Roo.bootstrap.TimeField = Roo.bootstrap.form.TimeField; +Roo.bootstrap.MonthField = Roo.bootstrap.form.MonthField; +Roo.bootstrap.CheckBox = Roo.bootstrap.form.CheckBox; +Roo.bootstrap.Radio = Roo.bootstrap.form.Radio; +Roo.bootstrap.RadioSet = Roo.bootstrap.form.RadioSet; +Roo.bootstrap.SecurePass = Roo.bootstrap.form.SecurePass; +Roo.bootstrap.FieldLabel = Roo.bootstrap.form.FieldLabel; +Roo.bootstrap.DateSplitField= Roo.bootstrap.form.DateSplitField; +Roo.bootstrap.NumberField = Roo.bootstrap.form.NumberField; +Roo.bootstrap.PhoneInput = Roo.bootstrap.form.PhoneInput; +Roo.bootstrap.PhoneInputData= Roo.bootstrap.form.PhoneInputData; +Roo.bootstrap.MoneyField = Roo.bootstrap.form.MoneyField; +Roo.bootstrap.HtmlEditor = Roo.bootstrap.form.HtmlEditor; +Roo.bootstrap.HtmlEditor.ToolbarStandard = Roo.bootstrap.form.HtmlEditorToolbarStandard; +Roo.bootstrap.Markdown = Roo.bootstrap.form.Markdown; +Roo.bootstrap.CardUploader = Roo.bootstrap.form.CardUploader; \ No newline at end of file diff --git a/Roo/bootstrap/form/namespace.js b/Roo/bootstrap/form/namespace.js new file mode 100644 index 0000000000..32ec62b810 --- /dev/null +++ b/Roo/bootstrap/form/namespace.js @@ -0,0 +1 @@ +Roo.bootstrap.form = {}; \ No newline at end of file diff --git a/Roo/bootstrap/layout/Border.js b/Roo/bootstrap/layout/Border.js index cc4d8b144e..fb52a52d7c 100644 --- a/Roo/bootstrap/layout/Border.js +++ b/Roo/bootstrap/layout/Border.js @@ -11,6 +11,8 @@ /** * @class Roo.bootstrap.layout.Border * @extends Roo.bootstrap.layout.Manager + * @builder-top + * @children Roo.bootstrap.panel.Content Roo.bootstrap.panel.Nest Roo.bootstrap.panel.Grid * This class represents a common layout manager used in desktop applications. For screenshots and more details, * please see: examples/bootstrap/nested.html

@@ -42,6 +44,25 @@ Roo.bootstrap.layout.Border.regions = ["center", "north","south","east","west"] Roo.extend(Roo.bootstrap.layout.Border, Roo.bootstrap.layout.Manager, { + /** + * @cfg {Roo.bootstrap.layout.Region} center region to go in center + */ + /** + * @cfg {Roo.bootstrap.layout.Region} west region to go in west + */ + /** + * @cfg {Roo.bootstrap.layout.Region} east region to go in east + */ + /** + * @cfg {Roo.bootstrap.layout.Region} south region to go in south + */ + /** + * @cfg {Roo.bootstrap.layout.Region} north region to go in north + */ + + + + parent : false, // this might point to a 'nest' or a ??? /** diff --git a/Roo/bootstrap/layout/Manager.js b/Roo/bootstrap/layout/Manager.js index 669a19fce4..1068460dd3 100644 --- a/Roo/bootstrap/layout/Manager.js +++ b/Roo/bootstrap/layout/Manager.js @@ -12,6 +12,7 @@ /** * @class Roo.bootstrap.layout.Manager * @extends Roo.bootstrap.Component + * @abstract * Base class for layout managers. */ Roo.bootstrap.layout.Manager = function(config) diff --git a/Roo/bootstrap/layout/layout-ns.js b/Roo/bootstrap/layout/layout-ns.js deleted file mode 100644 index 1b395815e8..0000000000 --- a/Roo/bootstrap/layout/layout-ns.js +++ /dev/null @@ -1 +0,0 @@ -Roo.namespace("Roo.bootstrap.layout"); \ No newline at end of file diff --git a/Roo/bootstrap/layout/namespace.js b/Roo/bootstrap/layout/namespace.js new file mode 100644 index 0000000000..8968dd069c --- /dev/null +++ b/Roo/bootstrap/layout/namespace.js @@ -0,0 +1 @@ +Roo.bootstrap.layout = {}; \ No newline at end of file diff --git a/Roo/bootstrap/menu/Item.js b/Roo/bootstrap/menu/Item.js index dbf31cd606..71bc4b5995 100644 --- a/Roo/bootstrap/menu/Item.js +++ b/Roo/bootstrap/menu/Item.js @@ -1,26 +1,22 @@ -/* - * - LGPL - * - * menu item - * - */ -Roo.bootstrap.menu = Roo.bootstrap.menu || {}; - /** * @class Roo.bootstrap.menu.Item * @extends Roo.bootstrap.Component + * @children Roo.bootstrap.Button Roo.bootstrap.ButtonUploader Roo.bootstrap.Row Roo.bootstrap.Column Roo.bootstrap.Container + * @parent Roo.bootstrap.menu.Menu + * @licence LGPL * Bootstrap MenuItem class - * @cfg {Boolean} submenu (true | false) default false - * @cfg {String} html text of the item + * + * @cfg {String} html the menu label * @cfg {String} href the link - * @cfg {Boolean} disable (true | false) default false - * @cfg {Boolean} preventDefault (true | false) default true - * @cfg {String} icon Font awesome icon - * @cfg {String} pos Submenu align to (left | right) default right + * @cfg {Boolean} preventDefault do not trigger A href on clicks (default false). + * @cfg {Boolean} isContainer is it a container - just returns a drop down item.. + * @cfg {Boolean} active used on sidebars to highlight active itesm + * @cfg {String} fa favicon to show on left of menu item. + * @cfg {Roo.bootsrap.Menu} menu the child menu. * * * @constructor - * Create a new Item + * Create a new MenuItem * @param {Object} config The config object */ @@ -28,116 +24,107 @@ Roo.bootstrap.menu = Roo.bootstrap.menu || {}; Roo.bootstrap.menu.Item = function(config){ Roo.bootstrap.menu.Item.superclass.constructor.call(this, config); this.addEvents({ - /** - * @event mouseover - * Fires when the mouse is hovering over this menu - * @param {Roo.bootstrap.menu.Item} this - * @param {Roo.EventObject} e - */ - mouseover : true, - /** - * @event mouseout - * Fires when the mouse exits this menu - * @param {Roo.bootstrap.menu.Item} this - * @param {Roo.EventObject} e - */ - mouseout : true, // raw events /** * @event click * The raw click event for the entire grid. + * @param {Roo.bootstrap.menu.Item} this * @param {Roo.EventObject} e */ - click : true + "click" : true }); }; Roo.extend(Roo.bootstrap.menu.Item, Roo.bootstrap.Component, { - submenu : false, - href : '', - html : '', - preventDefault: true, - disable : false, - icon : false, - pos : 'right', + href : false, + html : false, + preventDefault: false, + isContainer : false, + active : false, + fa: false, - getAutoCreate : function() - { - var text = [ - { - tag : 'span', - cls : 'roo-menu-item-text', - html : this.html - } - ]; + getAutoCreate : function(){ - if(this.icon){ - text.unshift({ - tag : 'i', - cls : 'fa ' + this.icon - }) + if(this.isContainer){ + return { + tag: 'li', + cls: 'dropdown-menu-item ' + }; } + var ctag = { + tag: 'span', + html: 'Link' + }; - var cfg = { - tag : 'li', - cn : [ - { - tag : 'a', - href : this.href || '#', - cn : text - } - ] + var anc = { + tag : 'a', + cls : 'dropdown-item', + href : '#', + cn : [ ] }; - if(this.disable){ - cfg.cls = (typeof(cfg.cls) == 'undefined') ? 'disabled' : (cfg.cls + ' disabled'); + if (this.fa !== false) { + anc.cn.push({ + tag : 'i', + cls : 'fa fa-' + this.fa + }); } - if(this.submenu){ - cfg.cls = (typeof(cfg.cls) == 'undefined') ? 'dropdown-submenu' : (cfg.cls + ' dropdown-submenu'); - - if(this.pos == 'left'){ - cfg.cls = (typeof(cfg.cls) == 'undefined') ? 'pull-left' : (cfg.cls + ' pull-left'); - } + anc.cn.push(ctag); + + + var cfg= { + tag: 'li', + cls: 'dropdown-menu-item', + cn: [ anc ] + }; + if (this.parent().type == 'treeview') { + cfg.cls = 'treeview-menu'; + } + if (this.active) { + cfg.cls += ' active'; } + + + anc.href = this.href || cfg.cn[0].href ; + ctag.html = this.html || cfg.cn[0].html ; return cfg; }, - initEvents : function() + initEvents: function() { - this.el.on('mouseover', this.onMouseOver, this); - this.el.on('mouseout', this.onMouseOut, this); + if (this.parent().type == 'treeview') { + this.el.select('a').on('click', this.onClick, this); + } - this.el.select('a', true).first().on('click', this.onClick, this); + if (this.menu) { + this.menu.parentType = this.xtype; + this.menu.triggerEl = this.el; + this.menu = this.addxtype(Roo.apply({}, this.menu)); + } }, - onClick : function(e) { + Roo.log('item on click '); + if(this.preventDefault){ e.preventDefault(); } + //this.parent().hideMenuItems(); - this.fireEvent("click", this, e); + this.fireEvent('click', this, e); }, - - onMouseOver : function(e) - { - if(this.submenu && this.pos == 'left'){ - this.el.select('ul.dropdown-menu', true).first().setLeft(this.el.select('ul.dropdown-menu', true).first().getWidth() * -1); - } - - this.fireEvent("mouseover", this, e); - }, - - onMouseOut : function(e) + getEl : function() { - this.fireEvent("mouseout", this, e); - } + return this.el; + } }); + + \ No newline at end of file diff --git a/Roo/bootstrap/MenuMgr.js b/Roo/bootstrap/menu/Manager.js similarity index 95% rename from Roo/bootstrap/MenuMgr.js rename to Roo/bootstrap/menu/Manager.js index 09970bc00f..4e1172fcec 100644 --- a/Roo/bootstrap/MenuMgr.js +++ b/Roo/bootstrap/menu/Manager.js @@ -1,20 +1,10 @@ -/* - * Based on: - * Ext JS Library 1.1.1 - * Copyright(c) 2006-2007, Ext JS, LLC. - * - * Originally Released Under LGPL - original licence link has changed is not relivant. - * - * Fork - LGPL - *