extjs-rails 4.1.0.alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +18 -0
- data/Gemfile +4 -0
- data/LICENSE +36 -0
- data/README.md +29 -0
- data/Rakefile +2 -0
- data/app/assets/javascripts/extjs-rails/extjs-rails.js +1 -0
- data/app/assets/javascripts/extjs-rails/index.js.erb +9 -0
- data/app/assets/javascripts/extjs-rails/sdk.jsb3 +2017 -0
- data/app/assets/javascripts/extjs-rails/src/AbstractComponent.js +3290 -0
- data/app/assets/javascripts/extjs-rails/src/AbstractManager.js +144 -0
- data/app/assets/javascripts/extjs-rails/src/AbstractPlugin.js +72 -0
- data/app/assets/javascripts/extjs-rails/src/Action.js +276 -0
- data/app/assets/javascripts/extjs-rails/src/Ajax.js +99 -0
- data/app/assets/javascripts/extjs-rails/src/Component.js +1344 -0
- data/app/assets/javascripts/extjs-rails/src/ComponentLoader.js +202 -0
- data/app/assets/javascripts/extjs-rails/src/ComponentManager.js +47 -0
- data/app/assets/javascripts/extjs-rails/src/ComponentQuery.js +521 -0
- data/app/assets/javascripts/extjs-rails/src/Editor.js +494 -0
- data/app/assets/javascripts/extjs-rails/src/ElementLoader.js +404 -0
- data/app/assets/javascripts/extjs-rails/src/FocusManager.js +712 -0
- data/app/assets/javascripts/extjs-rails/src/Img.js +111 -0
- data/app/assets/javascripts/extjs-rails/src/Layer.js +543 -0
- data/app/assets/javascripts/extjs-rails/src/LoadMask.js +432 -0
- data/app/assets/javascripts/extjs-rails/src/ModelManager.js +186 -0
- data/app/assets/javascripts/extjs-rails/src/PluginManager.js +110 -0
- data/app/assets/javascripts/extjs-rails/src/ProgressBar.js +336 -0
- data/app/assets/javascripts/extjs-rails/src/Shadow.js +233 -0
- data/app/assets/javascripts/extjs-rails/src/ShadowPool.js +43 -0
- data/app/assets/javascripts/extjs-rails/src/Template.js +331 -0
- data/app/assets/javascripts/extjs-rails/src/XTemplate.js +365 -0
- data/app/assets/javascripts/extjs-rails/src/XTemplateCompiler.js +450 -0
- data/app/assets/javascripts/extjs-rails/src/XTemplateParser.js +249 -0
- data/app/assets/javascripts/extjs-rails/src/ZIndexManager.js +519 -0
- data/app/assets/javascripts/extjs-rails/src/app/Application.js +271 -0
- data/app/assets/javascripts/extjs-rails/src/app/Controller.js +458 -0
- data/app/assets/javascripts/extjs-rails/src/app/EventBus.js +112 -0
- data/app/assets/javascripts/extjs-rails/src/button/Button.js +1483 -0
- data/app/assets/javascripts/extjs-rails/src/button/Cycle.js +215 -0
- data/app/assets/javascripts/extjs-rails/src/button/Split.js +99 -0
- data/app/assets/javascripts/extjs-rails/src/chart/Callout.js +140 -0
- data/app/assets/javascripts/extjs-rails/src/chart/Chart.js +966 -0
- data/app/assets/javascripts/extjs-rails/src/chart/Highlight.js +172 -0
- data/app/assets/javascripts/extjs-rails/src/chart/Label.js +241 -0
- data/app/assets/javascripts/extjs-rails/src/chart/Legend.js +474 -0
- data/app/assets/javascripts/extjs-rails/src/chart/LegendItem.js +217 -0
- data/app/assets/javascripts/extjs-rails/src/chart/Mask.js +230 -0
- data/app/assets/javascripts/extjs-rails/src/chart/MaskLayer.js +48 -0
- data/app/assets/javascripts/extjs-rails/src/chart/Navigation.js +79 -0
- data/app/assets/javascripts/extjs-rails/src/chart/Shape.js +106 -0
- data/app/assets/javascripts/extjs-rails/src/chart/Tip.js +98 -0
- data/app/assets/javascripts/extjs-rails/src/chart/TipSurface.js +42 -0
- data/app/assets/javascripts/extjs-rails/src/chart/axis/Abstract.js +73 -0
- data/app/assets/javascripts/extjs-rails/src/chart/axis/Axis.js +961 -0
- data/app/assets/javascripts/extjs-rails/src/chart/axis/Category.js +130 -0
- data/app/assets/javascripts/extjs-rails/src/chart/axis/Gauge.js +203 -0
- data/app/assets/javascripts/extjs-rails/src/chart/axis/Numeric.js +235 -0
- data/app/assets/javascripts/extjs-rails/src/chart/axis/Radial.js +204 -0
- data/app/assets/javascripts/extjs-rails/src/chart/axis/Time.js +135 -0
- data/app/assets/javascripts/extjs-rails/src/chart/series/Area.js +803 -0
- data/app/assets/javascripts/extjs-rails/src/chart/series/Bar.js +853 -0
- data/app/assets/javascripts/extjs-rails/src/chart/series/Cartesian.js +328 -0
- data/app/assets/javascripts/extjs-rails/src/chart/series/Column.js +104 -0
- data/app/assets/javascripts/extjs-rails/src/chart/series/Gauge.js +490 -0
- data/app/assets/javascripts/extjs-rails/src/chart/series/Line.js +1104 -0
- data/app/assets/javascripts/extjs-rails/src/chart/series/Pie.js +1072 -0
- data/app/assets/javascripts/extjs-rails/src/chart/series/Radar.js +440 -0
- data/app/assets/javascripts/extjs-rails/src/chart/series/Scatter.js +668 -0
- data/app/assets/javascripts/extjs-rails/src/chart/series/Series.js +443 -0
- data/app/assets/javascripts/extjs-rails/src/chart/theme/Base.js +175 -0
- data/app/assets/javascripts/extjs-rails/src/chart/theme/Theme.js +253 -0
- data/app/assets/javascripts/extjs-rails/src/container/AbstractContainer.js +1062 -0
- data/app/assets/javascripts/extjs-rails/src/container/ButtonGroup.js +143 -0
- data/app/assets/javascripts/extjs-rails/src/container/Container.js +212 -0
- data/app/assets/javascripts/extjs-rails/src/container/DockingContainer.js +265 -0
- data/app/assets/javascripts/extjs-rails/src/container/Viewport.js +184 -0
- data/app/assets/javascripts/extjs-rails/src/core/dom/Element.form.js +50 -0
- data/app/assets/javascripts/extjs-rails/src/core/dom/Element.static-more.js +159 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/index.html +321 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/index.js +6 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/CTO.js +25 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/CoolGuy.js +20 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Developer.js +43 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Gun.js +3 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/HumanResource.js +23 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Musician.js +20 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Person.js +50 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/ability/CanComposeSongs.js +9 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/ability/CanPlayGuitar.js +9 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/ability/CanSing.js +18 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/A.js +3 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/B.js +3 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/C.js +3 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/D.js +3 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/E.js +3 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/notdeadlock/A.js +3 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/notdeadlock/B.js +4 -0
- data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/notdeadlock/C.js +3 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/EventManager.js +1167 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/EventObject.js +883 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/Ext-more.js +1283 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/Ext.js +736 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/Support.js +662 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/class/Base.js +1085 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/class/Class.js +676 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/class/ClassManager.js +1591 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/class/Loader.js +1423 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.alignment.js +173 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.insertion.js +193 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.js +681 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.position.js +356 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.static.js +474 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.style.js +851 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.traversal.js +180 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractHelper.js +291 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractQuery.js +72 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/CompositeElement.js +75 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/CompositeElementLite.js +436 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/dom/DomQuery-aria.js +1049 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/env/Browser.js +186 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/env/FeatureDetector.js +274 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/env/OS.js +141 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/lang/Array.js +1205 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/lang/Date.js +1463 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/lang/Error.js +326 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/lang/Function.js +485 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/lang/Number.js +175 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/lang/Object.js +606 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/lang/String.js +333 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/misc/JSON.js +236 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/perf/Accumulator.js +244 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/perf/Monitor.js +197 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/util/DelayedTask.js +71 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/util/Event.js +215 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/util/Format.js +551 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/util/TaskManager.js +417 -0
- data/app/assets/javascripts/extjs-rails/src/core/src/version/Version.js +364 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/README.MD +91 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/bootstrap.js +39 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/build/build-data.js +34 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/build/build.sh +2 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/data.js +27 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/index.html +15 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom.html +40 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/extjs-api.js +12 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/platform-api.js +134 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/sanity.js +4 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/touch-api-out.js +128 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/touch-api.js +89 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/env/Environment.js +357 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/resources/APITest.js +37 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/resources/jsb3.js +14 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/resources/test-setup.js +137 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/EventManager.js +629 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Ext-mess.backup +198 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Ext-more.js +520 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Ext.js +1550 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Support.js +250 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/class/Base.js +47 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/class/Class.js +561 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/class/ClassManager.js +555 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/CompositeElementLite.js +409 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/DomHelper.js +444 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.insertion.js +342 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.js +731 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.static.js +201 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.style.js +118 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.traversal.js +336 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Array.js +1229 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Date.js +697 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Error.js +277 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Function.js +536 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Number.js +323 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Object.js +591 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/String.js +451 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/misc/JSON.js +252 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/util/Format.js +521 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/version/Version.js +148 -0
- data/app/assets/javascripts/extjs-rails/src/core/test/unit/specs.html +19 -0
- data/app/assets/javascripts/extjs-rails/src/data/AbstractStore.js +887 -0
- data/app/assets/javascripts/extjs-rails/src/data/ArrayStore.js +74 -0
- data/app/assets/javascripts/extjs-rails/src/data/Batch.js +236 -0
- data/app/assets/javascripts/extjs-rails/src/data/BufferStore.js +13 -0
- data/app/assets/javascripts/extjs-rails/src/data/Connection.js +969 -0
- data/app/assets/javascripts/extjs-rails/src/data/DirectStore.js +50 -0
- data/app/assets/javascripts/extjs-rails/src/data/Errors.js +52 -0
- data/app/assets/javascripts/extjs-rails/src/data/Field.js +341 -0
- data/app/assets/javascripts/extjs-rails/src/data/IdGenerator.js +198 -0
- data/app/assets/javascripts/extjs-rails/src/data/JsonP.js +253 -0
- data/app/assets/javascripts/extjs-rails/src/data/JsonPStore.js +51 -0
- data/app/assets/javascripts/extjs-rails/src/data/JsonStore.js +60 -0
- data/app/assets/javascripts/extjs-rails/src/data/Model.js +1673 -0
- data/app/assets/javascripts/extjs-rails/src/data/NodeInterface.js +1294 -0
- data/app/assets/javascripts/extjs-rails/src/data/NodeStore.js +254 -0
- data/app/assets/javascripts/extjs-rails/src/data/Operation.js +331 -0
- data/app/assets/javascripts/extjs-rails/src/data/Request.js +40 -0
- data/app/assets/javascripts/extjs-rails/src/data/ResultSet.js +56 -0
- data/app/assets/javascripts/extjs-rails/src/data/SequentialIdGenerator.js +61 -0
- data/app/assets/javascripts/extjs-rails/src/data/SortTypes.js +125 -0
- data/app/assets/javascripts/extjs-rails/src/data/Store.js +2609 -0
- data/app/assets/javascripts/extjs-rails/src/data/StoreManager.js +156 -0
- data/app/assets/javascripts/extjs-rails/src/data/Tree.js +290 -0
- data/app/assets/javascripts/extjs-rails/src/data/TreeStore.js +655 -0
- data/app/assets/javascripts/extjs-rails/src/data/Types.js +190 -0
- data/app/assets/javascripts/extjs-rails/src/data/UuidGenerator.js +215 -0
- data/app/assets/javascripts/extjs-rails/src/data/XmlStore.js +76 -0
- data/app/assets/javascripts/extjs-rails/src/data/association/Association.js +243 -0
- data/app/assets/javascripts/extjs-rails/src/data/association/BelongsTo.js +291 -0
- data/app/assets/javascripts/extjs-rails/src/data/association/HasMany.js +289 -0
- data/app/assets/javascripts/extjs-rails/src/data/association/HasOne.js +304 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/Ajax.js +282 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/Client.js +21 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/Direct.js +181 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/JsonP.js +313 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/LocalStorage.js +69 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/Memory.js +156 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/Proxy.js +433 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/Rest.js +173 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/Server.js +460 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/SessionStorage.js +39 -0
- data/app/assets/javascripts/extjs-rails/src/data/proxy/WebStorage.js +546 -0
- data/app/assets/javascripts/extjs-rails/src/data/reader/Array.js +68 -0
- data/app/assets/javascripts/extjs-rails/src/data/reader/Json.js +383 -0
- data/app/assets/javascripts/extjs-rails/src/data/reader/Reader.js +735 -0
- data/app/assets/javascripts/extjs-rails/src/data/reader/Xml.js +292 -0
- data/app/assets/javascripts/extjs-rails/src/data/validations.js +149 -0
- data/app/assets/javascripts/extjs-rails/src/data/writer/Json.js +81 -0
- data/app/assets/javascripts/extjs-rails/src/data/writer/Writer.js +147 -0
- data/app/assets/javascripts/extjs-rails/src/data/writer/Xml.js +88 -0
- data/app/assets/javascripts/extjs-rails/src/dd/DD.js +300 -0
- data/app/assets/javascripts/extjs-rails/src/dd/DDProxy.js +204 -0
- data/app/assets/javascripts/extjs-rails/src/dd/DDTarget.js +171 -0
- data/app/assets/javascripts/extjs-rails/src/dd/DragDrop.js +1101 -0
- data/app/assets/javascripts/extjs-rails/src/dd/DragDropManager.js +1264 -0
- data/app/assets/javascripts/extjs-rails/src/dd/DragSource.js +392 -0
- data/app/assets/javascripts/extjs-rails/src/dd/DragTracker.js +562 -0
- data/app/assets/javascripts/extjs-rails/src/dd/DragZone.js +137 -0
- data/app/assets/javascripts/extjs-rails/src/dd/DropTarget.js +118 -0
- data/app/assets/javascripts/extjs-rails/src/dd/DropZone.js +254 -0
- data/app/assets/javascripts/extjs-rails/src/dd/Registry.js +117 -0
- data/app/assets/javascripts/extjs-rails/src/dd/ScrollManager.js +218 -0
- data/app/assets/javascripts/extjs-rails/src/dd/StatusProxy.js +179 -0
- data/app/assets/javascripts/extjs-rails/src/diag/layout/Context.js +523 -0
- data/app/assets/javascripts/extjs-rails/src/diag/layout/ContextItem.js +179 -0
- data/app/assets/javascripts/extjs-rails/src/direct/Event.js +35 -0
- data/app/assets/javascripts/extjs-rails/src/direct/ExceptionEvent.js +16 -0
- data/app/assets/javascripts/extjs-rails/src/direct/JsonProvider.js +82 -0
- data/app/assets/javascripts/extjs-rails/src/direct/Manager.js +263 -0
- data/app/assets/javascripts/extjs-rails/src/direct/PollingProvider.js +156 -0
- data/app/assets/javascripts/extjs-rails/src/direct/Provider.js +96 -0
- data/app/assets/javascripts/extjs-rails/src/direct/RemotingEvent.js +24 -0
- data/app/assets/javascripts/extjs-rails/src/direct/RemotingMethod.js +100 -0
- data/app/assets/javascripts/extjs-rails/src/direct/RemotingProvider.js +510 -0
- data/app/assets/javascripts/extjs-rails/src/direct/Transaction.js +41 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Element.alignment.js +378 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Element.anim.js +962 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Element.dd.js +40 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Element.fx.js +194 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Element.js +1407 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Element.position.js +501 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Element.scroll.js +214 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Element.style.js +792 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Element.traversal.js +8 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Helper.js +466 -0
- data/app/assets/javascripts/extjs-rails/src/dom/Query.js +1067 -0
- data/app/assets/javascripts/extjs-rails/src/draw/Color.js +303 -0
- data/app/assets/javascripts/extjs-rails/src/draw/Component.js +245 -0
- data/app/assets/javascripts/extjs-rails/src/draw/CompositeSprite.js +299 -0
- data/app/assets/javascripts/extjs-rails/src/draw/Draw.js +1217 -0
- data/app/assets/javascripts/extjs-rails/src/draw/Matrix.js +183 -0
- data/app/assets/javascripts/extjs-rails/src/draw/Sprite.js +554 -0
- data/app/assets/javascripts/extjs-rails/src/draw/SpriteDD.js +87 -0
- data/app/assets/javascripts/extjs-rails/src/draw/Surface.js +1001 -0
- data/app/assets/javascripts/extjs-rails/src/draw/Text.js +175 -0
- data/app/assets/javascripts/extjs-rails/src/draw/engine/ImageExporter.js +106 -0
- data/app/assets/javascripts/extjs-rails/src/draw/engine/Svg.js +734 -0
- data/app/assets/javascripts/extjs-rails/src/draw/engine/SvgExporter.js +280 -0
- data/app/assets/javascripts/extjs-rails/src/draw/engine/Vml.js +916 -0
- data/app/assets/javascripts/extjs-rails/src/flash/Component.js +248 -0
- data/app/assets/javascripts/extjs-rails/src/form/Basic.js +1018 -0
- data/app/assets/javascripts/extjs-rails/src/form/CheckboxGroup.js +441 -0
- data/app/assets/javascripts/extjs-rails/src/form/CheckboxManager.js +26 -0
- data/app/assets/javascripts/extjs-rails/src/form/FieldAncestor.js +210 -0
- data/app/assets/javascripts/extjs-rails/src/form/FieldContainer.js +290 -0
- data/app/assets/javascripts/extjs-rails/src/form/FieldSet.js +506 -0
- data/app/assets/javascripts/extjs-rails/src/form/Label.js +110 -0
- data/app/assets/javascripts/extjs-rails/src/form/Labelable.js +764 -0
- data/app/assets/javascripts/extjs-rails/src/form/Panel.js +335 -0
- data/app/assets/javascripts/extjs-rails/src/form/RadioGroup.js +124 -0
- data/app/assets/javascripts/extjs-rails/src/form/RadioManager.js +26 -0
- data/app/assets/javascripts/extjs-rails/src/form/action/Action.js +307 -0
- data/app/assets/javascripts/extjs-rails/src/form/action/DirectLoad.js +107 -0
- data/app/assets/javascripts/extjs-rails/src/form/action/DirectSubmit.js +119 -0
- data/app/assets/javascripts/extjs-rails/src/form/action/Load.js +120 -0
- data/app/assets/javascripts/extjs-rails/src/form/action/StandardSubmit.js +34 -0
- data/app/assets/javascripts/extjs-rails/src/form/action/Submit.js +257 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Base.js +813 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Checkbox.js +505 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/ComboBox.js +1427 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Date.js +578 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Display.js +155 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Field.js +430 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/File.js +265 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Hidden.js +75 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/HtmlEditor.js +1439 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Number.js +380 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Picker.js +321 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Radio.js +279 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Spinner.js +321 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Text.js +727 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/TextArea.js +228 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Time.js +459 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/Trigger.js +469 -0
- data/app/assets/javascripts/extjs-rails/src/form/field/VTypes.js +172 -0
- data/app/assets/javascripts/extjs-rails/src/fx/Anim.js +472 -0
- data/app/assets/javascripts/extjs-rails/src/fx/Animator.js +410 -0
- data/app/assets/javascripts/extjs-rails/src/fx/CubicBezier.js +77 -0
- data/app/assets/javascripts/extjs-rails/src/fx/Easing.js +136 -0
- data/app/assets/javascripts/extjs-rails/src/fx/Manager.js +353 -0
- data/app/assets/javascripts/extjs-rails/src/fx/PropertyHandler.js +381 -0
- data/app/assets/javascripts/extjs-rails/src/fx/Queue.js +123 -0
- data/app/assets/javascripts/extjs-rails/src/fx/target/Component.js +118 -0
- data/app/assets/javascripts/extjs-rails/src/fx/target/CompositeElement.js +46 -0
- data/app/assets/javascripts/extjs-rails/src/fx/target/CompositeElementCSS.js +22 -0
- data/app/assets/javascripts/extjs-rails/src/fx/target/CompositeSprite.js +34 -0
- data/app/assets/javascripts/extjs-rails/src/fx/target/Element.js +83 -0
- data/app/assets/javascripts/extjs-rails/src/fx/target/ElementCSS.js +77 -0
- data/app/assets/javascripts/extjs-rails/src/fx/target/Sprite.js +128 -0
- data/app/assets/javascripts/extjs-rails/src/fx/target/Target.js +36 -0
- data/app/assets/javascripts/extjs-rails/src/grid/CellEditor.js +172 -0
- data/app/assets/javascripts/extjs-rails/src/grid/ColumnComponentLayout.js +34 -0
- data/app/assets/javascripts/extjs-rails/src/grid/ColumnLayout.js +201 -0
- data/app/assets/javascripts/extjs-rails/src/grid/Lockable.js +863 -0
- data/app/assets/javascripts/extjs-rails/src/grid/LockingView.js +169 -0
- data/app/assets/javascripts/extjs-rails/src/grid/PagingScroller.js +539 -0
- data/app/assets/javascripts/extjs-rails/src/grid/Panel.js +393 -0
- data/app/assets/javascripts/extjs-rails/src/grid/RowEditor.js +731 -0
- data/app/assets/javascripts/extjs-rails/src/grid/RowNumberer.js +76 -0
- data/app/assets/javascripts/extjs-rails/src/grid/Scroller.js +5 -0
- data/app/assets/javascripts/extjs-rails/src/grid/View.js +44 -0
- data/app/assets/javascripts/extjs-rails/src/grid/ViewDropZone.js +41 -0
- data/app/assets/javascripts/extjs-rails/src/grid/column/Action.js +318 -0
- data/app/assets/javascripts/extjs-rails/src/grid/column/Boolean.js +82 -0
- data/app/assets/javascripts/extjs-rails/src/grid/column/Column.js +835 -0
- data/app/assets/javascripts/extjs-rails/src/grid/column/Date.js +63 -0
- data/app/assets/javascripts/extjs-rails/src/grid/column/Number.js +52 -0
- data/app/assets/javascripts/extjs-rails/src/grid/column/Template.js +58 -0
- data/app/assets/javascripts/extjs-rails/src/grid/feature/AbstractSummary.js +154 -0
- data/app/assets/javascripts/extjs-rails/src/grid/feature/Chunking.js +77 -0
- data/app/assets/javascripts/extjs-rails/src/grid/feature/Feature.js +158 -0
- data/app/assets/javascripts/extjs-rails/src/grid/feature/Grouping.js +822 -0
- data/app/assets/javascripts/extjs-rails/src/grid/feature/GroupingSummary.js +243 -0
- data/app/assets/javascripts/extjs-rails/src/grid/feature/RowBody.js +116 -0
- data/app/assets/javascripts/extjs-rails/src/grid/feature/RowWrap.js +120 -0
- data/app/assets/javascripts/extjs-rails/src/grid/feature/Summary.js +167 -0
- data/app/assets/javascripts/extjs-rails/src/grid/header/Container.js +965 -0
- data/app/assets/javascripts/extjs-rails/src/grid/header/DragZone.js +69 -0
- data/app/assets/javascripts/extjs-rails/src/grid/header/DropZone.js +265 -0
- data/app/assets/javascripts/extjs-rails/src/grid/plugin/CellEditing.js +453 -0
- data/app/assets/javascripts/extjs-rails/src/grid/plugin/DragDrop.js +254 -0
- data/app/assets/javascripts/extjs-rails/src/grid/plugin/Editing.js +561 -0
- data/app/assets/javascripts/extjs-rails/src/grid/plugin/HeaderReorderer.js +49 -0
- data/app/assets/javascripts/extjs-rails/src/grid/plugin/HeaderResizer.js +292 -0
- data/app/assets/javascripts/extjs-rails/src/grid/plugin/RowEditing.js +339 -0
- data/app/assets/javascripts/extjs-rails/src/grid/property/Grid.js +351 -0
- data/app/assets/javascripts/extjs-rails/src/grid/property/HeaderContainer.js +109 -0
- data/app/assets/javascripts/extjs-rails/src/grid/property/Property.js +36 -0
- data/app/assets/javascripts/extjs-rails/src/grid/property/Store.js +141 -0
- data/app/assets/javascripts/extjs-rails/src/layout/ClassList.js +90 -0
- data/app/assets/javascripts/extjs-rails/src/layout/Context.js +1232 -0
- data/app/assets/javascripts/extjs-rails/src/layout/ContextItem.js +1470 -0
- data/app/assets/javascripts/extjs-rails/src/layout/Layout.js +761 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/Auto.js +220 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/Body.js +80 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/BoundList.js +95 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/Button.js +261 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/Component.js +427 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/Dock.js +1132 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/Draw.js +79 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/FieldSet.js +62 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/ProgressBar.js +54 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/Tab.js +23 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/field/ComboBox.js +52 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/field/Field.js +372 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/field/FieldContainer.js +48 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/field/HtmlEditor.js +54 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/field/Slider.js +58 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/field/Text.js +75 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/field/TextArea.js +51 -0
- data/app/assets/javascripts/extjs-rails/src/layout/component/field/Trigger.js +132 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Absolute.js +121 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Accordion.js +308 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Anchor.js +403 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Auto.js +70 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Border-old-js +1079 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Border.js +816 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Box.js +929 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Card.js +361 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/CheckboxGroup.js +376 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Column.js +234 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Container.js +961 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Editor.js +74 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Fit.js +287 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Form.js +157 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/HBox.js +134 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/Table.js +412 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/VBox.js +139 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/boxOverflow/Menu.js +365 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/boxOverflow/None.js +83 -0
- data/app/assets/javascripts/extjs-rails/src/layout/container/boxOverflow/Scroller.js +475 -0
- data/app/assets/javascripts/extjs-rails/src/menu/CheckItem.js +169 -0
- data/app/assets/javascripts/extjs-rails/src/menu/ColorPicker.js +110 -0
- data/app/assets/javascripts/extjs-rails/src/menu/DatePicker.js +100 -0
- data/app/assets/javascripts/extjs-rails/src/menu/Item.js +553 -0
- data/app/assets/javascripts/extjs-rails/src/menu/KeyNav.js +134 -0
- data/app/assets/javascripts/extjs-rails/src/menu/Manager.js +219 -0
- data/app/assets/javascripts/extjs-rails/src/menu/Menu.js +579 -0
- data/app/assets/javascripts/extjs-rails/src/menu/Separator.js +126 -0
- data/app/assets/javascripts/extjs-rails/src/panel/AbstractPanel.js +323 -0
- data/app/assets/javascripts/extjs-rails/src/panel/DD.js +99 -0
- data/app/assets/javascripts/extjs-rails/src/panel/Header.js +518 -0
- data/app/assets/javascripts/extjs-rails/src/panel/Panel.js +2150 -0
- data/app/assets/javascripts/extjs-rails/src/panel/Proxy.js +131 -0
- data/app/assets/javascripts/extjs-rails/src/panel/Table.js +1018 -0
- data/app/assets/javascripts/extjs-rails/src/panel/Tool.js +304 -0
- data/app/assets/javascripts/extjs-rails/src/picker/Color.js +219 -0
- data/app/assets/javascripts/extjs-rails/src/picker/Date.js +1140 -0
- data/app/assets/javascripts/extjs-rails/src/picker/Month.js +490 -0
- data/app/assets/javascripts/extjs-rails/src/picker/Time.js +165 -0
- data/app/assets/javascripts/extjs-rails/src/resizer/BorderSplitter.js +22 -0
- data/app/assets/javascripts/extjs-rails/src/resizer/BorderSplitterTracker.js +210 -0
- data/app/assets/javascripts/extjs-rails/src/resizer/Handle.js +29 -0
- data/app/assets/javascripts/extjs-rails/src/resizer/ResizeTracker.js +346 -0
- data/app/assets/javascripts/extjs-rails/src/resizer/Resizer.js +477 -0
- data/app/assets/javascripts/extjs-rails/src/resizer/Splitter.js +242 -0
- data/app/assets/javascripts/extjs-rails/src/resizer/SplitterTracker.js +230 -0
- data/app/assets/javascripts/extjs-rails/src/selection/CellModel.js +395 -0
- data/app/assets/javascripts/extjs-rails/src/selection/CheckboxModel.js +234 -0
- data/app/assets/javascripts/extjs-rails/src/selection/DataViewModel.js +160 -0
- data/app/assets/javascripts/extjs-rails/src/selection/Model.js +646 -0
- data/app/assets/javascripts/extjs-rails/src/selection/RowModel.js +499 -0
- data/app/assets/javascripts/extjs-rails/src/selection/TreeModel.js +78 -0
- data/app/assets/javascripts/extjs-rails/src/slider/Multi.js +835 -0
- data/app/assets/javascripts/extjs-rails/src/slider/Single.js +56 -0
- data/app/assets/javascripts/extjs-rails/src/slider/Thumb.js +259 -0
- data/app/assets/javascripts/extjs-rails/src/slider/Tip.js +130 -0
- data/app/assets/javascripts/extjs-rails/src/state/CookieProvider.js +120 -0
- data/app/assets/javascripts/extjs-rails/src/state/LocalStorageProvider.js +72 -0
- data/app/assets/javascripts/extjs-rails/src/state/Manager.js +70 -0
- data/app/assets/javascripts/extjs-rails/src/state/Provider.js +182 -0
- data/app/assets/javascripts/extjs-rails/src/state/Stateful.js +364 -0
- data/app/assets/javascripts/extjs-rails/src/tab/Bar.js +258 -0
- data/app/assets/javascripts/extjs-rails/src/tab/Panel.js +654 -0
- data/app/assets/javascripts/extjs-rails/src/tab/Tab.js +358 -0
- data/app/assets/javascripts/extjs-rails/src/tail.js +10 -0
- data/app/assets/javascripts/extjs-rails/src/tip/QuickTip.js +335 -0
- data/app/assets/javascripts/extjs-rails/src/tip/QuickTipManager.js +239 -0
- data/app/assets/javascripts/extjs-rails/src/tip/Tip.js +160 -0
- data/app/assets/javascripts/extjs-rails/src/tip/ToolTip.js +691 -0
- data/app/assets/javascripts/extjs-rails/src/toolbar/Fill.js +28 -0
- data/app/assets/javascripts/extjs-rails/src/toolbar/Item.js +16 -0
- data/app/assets/javascripts/extjs-rails/src/toolbar/Paging.js +600 -0
- data/app/assets/javascripts/extjs-rails/src/toolbar/Separator.js +23 -0
- data/app/assets/javascripts/extjs-rails/src/toolbar/Spacer.js +33 -0
- data/app/assets/javascripts/extjs-rails/src/toolbar/TextItem.js +57 -0
- data/app/assets/javascripts/extjs-rails/src/toolbar/Toolbar-legacy.js +123 -0
- data/app/assets/javascripts/extjs-rails/src/toolbar/Toolbar.js +447 -0
- data/app/assets/javascripts/extjs-rails/src/tree/Column.js +90 -0
- data/app/assets/javascripts/extjs-rails/src/tree/Panel.js +505 -0
- data/app/assets/javascripts/extjs-rails/src/tree/View.js +658 -0
- data/app/assets/javascripts/extjs-rails/src/tree/ViewDragZone.js +49 -0
- data/app/assets/javascripts/extjs-rails/src/tree/ViewDropZone.js +287 -0
- data/app/assets/javascripts/extjs-rails/src/tree/plugin/TreeViewDragDrop.js +244 -0
- data/app/assets/javascripts/extjs-rails/src/util/AbstractMixedCollection.js +772 -0
- data/app/assets/javascripts/extjs-rails/src/util/Animate.js +426 -0
- data/app/assets/javascripts/extjs-rails/src/util/Bindable.js +102 -0
- data/app/assets/javascripts/extjs-rails/src/util/CSS.js +185 -0
- data/app/assets/javascripts/extjs-rails/src/util/ClickRepeater.js +238 -0
- data/app/assets/javascripts/extjs-rails/src/util/ComponentDragger.js +126 -0
- data/app/assets/javascripts/extjs-rails/src/util/Cookies.js +91 -0
- data/app/assets/javascripts/extjs-rails/src/util/ElementContainer.js +293 -0
- data/app/assets/javascripts/extjs-rails/src/util/Filter.js +159 -0
- data/app/assets/javascripts/extjs-rails/src/util/Floating.js +321 -0
- data/app/assets/javascripts/extjs-rails/src/util/Grouper.js +26 -0
- data/app/assets/javascripts/extjs-rails/src/util/HashMap.js +356 -0
- data/app/assets/javascripts/extjs-rails/src/util/History.js +285 -0
- data/app/assets/javascripts/extjs-rails/src/util/Inflector.js +297 -0
- data/app/assets/javascripts/extjs-rails/src/util/KeyMap.js +427 -0
- data/app/assets/javascripts/extjs-rails/src/util/KeyNav.js +239 -0
- data/app/assets/javascripts/extjs-rails/src/util/LruCache.js +257 -0
- data/app/assets/javascripts/extjs-rails/src/util/Memento.js +131 -0
- data/app/assets/javascripts/extjs-rails/src/util/MixedCollection.js +239 -0
- data/app/assets/javascripts/extjs-rails/src/util/Observable.js +1003 -0
- data/app/assets/javascripts/extjs-rails/src/util/Offset.js +60 -0
- data/app/assets/javascripts/extjs-rails/src/util/Point.js +93 -0
- data/app/assets/javascripts/extjs-rails/src/util/ProtoElement.js +205 -0
- data/app/assets/javascripts/extjs-rails/src/util/Queue.js +76 -0
- data/app/assets/javascripts/extjs-rails/src/util/Region.js +388 -0
- data/app/assets/javascripts/extjs-rails/src/util/Renderable.js +1079 -0
- data/app/assets/javascripts/extjs-rails/src/util/Sortable.js +248 -0
- data/app/assets/javascripts/extjs-rails/src/util/Sorter.js +179 -0
- data/app/assets/javascripts/extjs-rails/src/util/TextMetrics.js +148 -0
- data/app/assets/javascripts/extjs-rails/src/view/AbstractView.js +1103 -0
- data/app/assets/javascripts/extjs-rails/src/view/BoundList.js +207 -0
- data/app/assets/javascripts/extjs-rails/src/view/BoundListKeyNav.js +92 -0
- data/app/assets/javascripts/extjs-rails/src/view/DragZone.js +106 -0
- data/app/assets/javascripts/extjs-rails/src/view/DropZone.js +240 -0
- data/app/assets/javascripts/extjs-rails/src/view/Table.js +1229 -0
- data/app/assets/javascripts/extjs-rails/src/view/TableChunker.js +139 -0
- data/app/assets/javascripts/extjs-rails/src/view/View.js +636 -0
- data/app/assets/javascripts/extjs-rails/src/window/MessageBox.js +880 -0
- data/app/assets/javascripts/extjs-rails/src/window/Window-legacy.js +56 -0
- data/app/assets/javascripts/extjs-rails/src/window/Window.js +793 -0
- data/extjs-rails.gemspec +24 -0
- data/lib/extjs-rails.rb +7 -0
- data/lib/extjs-rails/engine.rb +7 -0
- data/lib/extjs-rails/version.rb +5 -0
- metadata +660 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @docauthor Jason Johnston <jason@sencha.com>
|
|
3
|
+
*
|
|
4
|
+
* FormPanel provides a standard container for forms. It is essentially a standard {@link Ext.panel.Panel} which
|
|
5
|
+
* automatically creates a {@link Ext.form.Basic BasicForm} for managing any {@link Ext.form.field.Field}
|
|
6
|
+
* objects that are added as descendants of the panel. It also includes conveniences for configuring and
|
|
7
|
+
* working with the BasicForm and the collection of Fields.
|
|
8
|
+
*
|
|
9
|
+
* # Layout
|
|
10
|
+
*
|
|
11
|
+
* By default, FormPanel is configured with `{@link Ext.layout.container.Anchor layout:'anchor'}` for
|
|
12
|
+
* the layout of its immediate child items. This can be changed to any of the supported container layouts.
|
|
13
|
+
* The layout of sub-containers is configured in {@link Ext.container.Container#layout the standard way}.
|
|
14
|
+
*
|
|
15
|
+
* # BasicForm
|
|
16
|
+
*
|
|
17
|
+
* Although **not listed** as configuration options of FormPanel, the FormPanel class accepts all
|
|
18
|
+
* of the config options supported by the {@link Ext.form.Basic} class, and will pass them along to
|
|
19
|
+
* the internal BasicForm when it is created.
|
|
20
|
+
*
|
|
21
|
+
* **Note**: If subclassing FormPanel, any configuration options for the BasicForm must be applied to
|
|
22
|
+
* the `initialConfig` property of the FormPanel. Applying {@link Ext.form.Basic BasicForm}
|
|
23
|
+
* configuration settings to `this` will *not* affect the BasicForm's configuration.
|
|
24
|
+
*
|
|
25
|
+
* Ext.define('MyForm', {
|
|
26
|
+
* extend: 'Ext.form.Panel',
|
|
27
|
+
* constructor: function(config) {
|
|
28
|
+
* Ext.applyIf(config, {
|
|
29
|
+
* // defaults for configs that should be passed along to the Basic form constructor go here
|
|
30
|
+
* trackResetOnLoad: true
|
|
31
|
+
* });
|
|
32
|
+
* this.callParent(arguments);
|
|
33
|
+
* }
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* The following events fired by the BasicForm will be re-fired by the FormPanel and can therefore be
|
|
37
|
+
* listened for on the FormPanel itself:
|
|
38
|
+
*
|
|
39
|
+
* - {@link Ext.form.Basic#beforeaction beforeaction}
|
|
40
|
+
* - {@link Ext.form.Basic#actionfailed actionfailed}
|
|
41
|
+
* - {@link Ext.form.Basic#actioncomplete actioncomplete}
|
|
42
|
+
* - {@link Ext.form.Basic#validitychange validitychange}
|
|
43
|
+
* - {@link Ext.form.Basic#dirtychange dirtychange}
|
|
44
|
+
*
|
|
45
|
+
* # Field Defaults
|
|
46
|
+
*
|
|
47
|
+
* The {@link #fieldDefaults} config option conveniently allows centralized configuration of default values
|
|
48
|
+
* for all fields added as descendants of the FormPanel. Any config option recognized by implementations
|
|
49
|
+
* of {@link Ext.form.Labelable} may be included in this object. See the {@link #fieldDefaults} documentation
|
|
50
|
+
* for details of how the defaults are applied.
|
|
51
|
+
*
|
|
52
|
+
* # Form Validation
|
|
53
|
+
*
|
|
54
|
+
* With the default configuration, form fields are validated on-the-fly while the user edits their values.
|
|
55
|
+
* This can be controlled on a per-field basis (or via the {@link #fieldDefaults} config) with the field
|
|
56
|
+
* config properties {@link Ext.form.field.Field#validateOnChange} and {@link Ext.form.field.Base#checkChangeEvents},
|
|
57
|
+
* and the FormPanel's config properties {@link #pollForChanges} and {@link #pollInterval}.
|
|
58
|
+
*
|
|
59
|
+
* Any component within the FormPanel can be configured with `formBind: true`. This will cause that
|
|
60
|
+
* component to be automatically disabled when the form is invalid, and enabled when it is valid. This is most
|
|
61
|
+
* commonly used for Button components to prevent submitting the form in an invalid state, but can be used on
|
|
62
|
+
* any component type.
|
|
63
|
+
*
|
|
64
|
+
* For more information on form validation see the following:
|
|
65
|
+
*
|
|
66
|
+
* - {@link Ext.form.field.Field#validateOnChange}
|
|
67
|
+
* - {@link #pollForChanges} and {@link #pollInterval}
|
|
68
|
+
* - {@link Ext.form.field.VTypes}
|
|
69
|
+
* - {@link Ext.form.Basic#doAction BasicForm.doAction clientValidation notes}
|
|
70
|
+
*
|
|
71
|
+
* # Form Submission
|
|
72
|
+
*
|
|
73
|
+
* By default, Ext Forms are submitted through Ajax, using {@link Ext.form.action.Action}. See the documentation for
|
|
74
|
+
* {@link Ext.form.Basic} for details.
|
|
75
|
+
*
|
|
76
|
+
* # Example usage
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* Ext.create('Ext.form.Panel', {
|
|
80
|
+
* title: 'Simple Form',
|
|
81
|
+
* bodyPadding: 5,
|
|
82
|
+
* width: 350,
|
|
83
|
+
*
|
|
84
|
+
* // The form will submit an AJAX request to this URL when submitted
|
|
85
|
+
* url: 'save-form.php',
|
|
86
|
+
*
|
|
87
|
+
* // Fields will be arranged vertically, stretched to full width
|
|
88
|
+
* layout: 'anchor',
|
|
89
|
+
* defaults: {
|
|
90
|
+
* anchor: '100%'
|
|
91
|
+
* },
|
|
92
|
+
*
|
|
93
|
+
* // The fields
|
|
94
|
+
* defaultType: 'textfield',
|
|
95
|
+
* items: [{
|
|
96
|
+
* fieldLabel: 'First Name',
|
|
97
|
+
* name: 'first',
|
|
98
|
+
* allowBlank: false
|
|
99
|
+
* },{
|
|
100
|
+
* fieldLabel: 'Last Name',
|
|
101
|
+
* name: 'last',
|
|
102
|
+
* allowBlank: false
|
|
103
|
+
* }],
|
|
104
|
+
*
|
|
105
|
+
* // Reset and Submit buttons
|
|
106
|
+
* buttons: [{
|
|
107
|
+
* text: 'Reset',
|
|
108
|
+
* handler: function() {
|
|
109
|
+
* this.up('form').getForm().reset();
|
|
110
|
+
* }
|
|
111
|
+
* }, {
|
|
112
|
+
* text: 'Submit',
|
|
113
|
+
* formBind: true, //only enabled once the form is valid
|
|
114
|
+
* disabled: true,
|
|
115
|
+
* handler: function() {
|
|
116
|
+
* var form = this.up('form').getForm();
|
|
117
|
+
* if (form.isValid()) {
|
|
118
|
+
* form.submit({
|
|
119
|
+
* success: function(form, action) {
|
|
120
|
+
* Ext.Msg.alert('Success', action.result.msg);
|
|
121
|
+
* },
|
|
122
|
+
* failure: function(form, action) {
|
|
123
|
+
* Ext.Msg.alert('Failed', action.result.msg);
|
|
124
|
+
* }
|
|
125
|
+
* });
|
|
126
|
+
* }
|
|
127
|
+
* }
|
|
128
|
+
* }],
|
|
129
|
+
* renderTo: Ext.getBody()
|
|
130
|
+
* });
|
|
131
|
+
*
|
|
132
|
+
*/
|
|
133
|
+
Ext.define('Ext.form.Panel', {
|
|
134
|
+
extend:'Ext.panel.Panel',
|
|
135
|
+
mixins: {
|
|
136
|
+
fieldAncestor: 'Ext.form.FieldAncestor'
|
|
137
|
+
},
|
|
138
|
+
alias: 'widget.form',
|
|
139
|
+
alternateClassName: ['Ext.FormPanel', 'Ext.form.FormPanel'],
|
|
140
|
+
requires: ['Ext.form.Basic', 'Ext.util.TaskRunner'],
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* @cfg {Boolean} pollForChanges
|
|
144
|
+
* If set to `true`, sets up an interval task (using the {@link #pollInterval}) in which the
|
|
145
|
+
* panel's fields are repeatedly checked for changes in their values. This is in addition to the normal detection
|
|
146
|
+
* each field does on its own input element, and is not needed in most cases. It does, however, provide a
|
|
147
|
+
* means to absolutely guarantee detection of all changes including some edge cases in some browsers which
|
|
148
|
+
* do not fire native events. Defaults to `false`.
|
|
149
|
+
*/
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* @cfg {Number} pollInterval
|
|
153
|
+
* Interval in milliseconds at which the form's fields are checked for value changes. Only used if
|
|
154
|
+
* the {@link #pollForChanges} option is set to `true`. Defaults to 500 milliseconds.
|
|
155
|
+
*/
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* @cfg {String} layout
|
|
159
|
+
* The {@link Ext.container.Container#layout} for the form panel's immediate child items.
|
|
160
|
+
* Defaults to `'anchor'`.
|
|
161
|
+
*/
|
|
162
|
+
layout: 'anchor',
|
|
163
|
+
|
|
164
|
+
ariaRole: 'form',
|
|
165
|
+
|
|
166
|
+
initComponent: function() {
|
|
167
|
+
var me = this;
|
|
168
|
+
|
|
169
|
+
if (me.frame) {
|
|
170
|
+
me.border = false;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
me.initFieldAncestor();
|
|
174
|
+
me.callParent();
|
|
175
|
+
|
|
176
|
+
me.relayEvents(me.form, [
|
|
177
|
+
/**
|
|
178
|
+
* @event beforeaction
|
|
179
|
+
* @inheritdoc Ext.form.Basic#beforeaction
|
|
180
|
+
*/
|
|
181
|
+
'beforeaction',
|
|
182
|
+
/**
|
|
183
|
+
* @event actionfailed
|
|
184
|
+
* @inheritdoc Ext.form.Basic#actionfailed
|
|
185
|
+
*/
|
|
186
|
+
'actionfailed',
|
|
187
|
+
/**
|
|
188
|
+
* @event actioncomplete
|
|
189
|
+
* @inheritdoc Ext.form.Basic#actioncomplete
|
|
190
|
+
*/
|
|
191
|
+
'actioncomplete',
|
|
192
|
+
/**
|
|
193
|
+
* @event validitychange
|
|
194
|
+
* @inheritdoc Ext.form.Basic#validitychange
|
|
195
|
+
*/
|
|
196
|
+
'validitychange',
|
|
197
|
+
/**
|
|
198
|
+
* @event dirtychange
|
|
199
|
+
* @inheritdoc Ext.form.Basic#dirtychange
|
|
200
|
+
*/
|
|
201
|
+
'dirtychange'
|
|
202
|
+
]);
|
|
203
|
+
|
|
204
|
+
// Start polling if configured
|
|
205
|
+
if (me.pollForChanges) {
|
|
206
|
+
me.startPolling(me.pollInterval || 500);
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
|
|
210
|
+
initItems: function() {
|
|
211
|
+
// Create the BasicForm
|
|
212
|
+
var me = this;
|
|
213
|
+
|
|
214
|
+
me.form = me.createForm();
|
|
215
|
+
me.callParent();
|
|
216
|
+
},
|
|
217
|
+
|
|
218
|
+
// Initialize the BasicForm after all layouts have been completed.
|
|
219
|
+
afterFirstLayout: function() {
|
|
220
|
+
this.callParent();
|
|
221
|
+
this.form.initialize();
|
|
222
|
+
},
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* @private
|
|
226
|
+
*/
|
|
227
|
+
createForm: function() {
|
|
228
|
+
return new Ext.form.Basic(this, Ext.applyIf({listeners: {}}, this.initialConfig));
|
|
229
|
+
},
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Provides access to the {@link Ext.form.Basic Form} which this Panel contains.
|
|
233
|
+
* @return {Ext.form.Basic} The {@link Ext.form.Basic Form} which this Panel contains.
|
|
234
|
+
*/
|
|
235
|
+
getForm: function() {
|
|
236
|
+
return this.form;
|
|
237
|
+
},
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Loads an {@link Ext.data.Model} into this form (internally just calls {@link Ext.form.Basic#loadRecord})
|
|
241
|
+
* See also {@link Ext.form.Basic#trackResetOnLoad trackResetOnLoad}.
|
|
242
|
+
* @param {Ext.data.Model} record The record to load
|
|
243
|
+
* @return {Ext.form.Basic} The Ext.form.Basic attached to this FormPanel
|
|
244
|
+
*/
|
|
245
|
+
loadRecord: function(record) {
|
|
246
|
+
return this.getForm().loadRecord(record);
|
|
247
|
+
},
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Returns the currently loaded Ext.data.Model instance if one was loaded via {@link #loadRecord}.
|
|
251
|
+
* @return {Ext.data.Model} The loaded instance
|
|
252
|
+
*/
|
|
253
|
+
getRecord: function() {
|
|
254
|
+
return this.getForm().getRecord();
|
|
255
|
+
},
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Convenience function for fetching the current value of each field in the form. This is the same as calling
|
|
259
|
+
* {@link Ext.form.Basic#getValues this.getForm().getValues()}
|
|
260
|
+
* @param {Boolean} [asString=false] If true, will return the key/value collection as a single
|
|
261
|
+
* URL-encoded param string.
|
|
262
|
+
* @param {Boolean} [dirtyOnly=false] If true, only fields that are dirty will be included in the result.
|
|
263
|
+
* @param {Boolean} [includeEmptyText=false]] If true, the configured emptyText of empty fields will be used.
|
|
264
|
+
* @return {String/Object}
|
|
265
|
+
*/
|
|
266
|
+
getValues: function(asString, dirtyOnly, includeEmptyText, useDataValues) {
|
|
267
|
+
return this.getForm().getValues(asString, dirtyOnly, includeEmptyText, useDataValues);
|
|
268
|
+
},
|
|
269
|
+
|
|
270
|
+
beforeDestroy: function() {
|
|
271
|
+
this.stopPolling();
|
|
272
|
+
this.form.destroy();
|
|
273
|
+
this.callParent();
|
|
274
|
+
},
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* This is a proxy for the underlying BasicForm's {@link Ext.form.Basic#load} call.
|
|
278
|
+
* @param {Object} options The options to pass to the action (see {@link Ext.form.Basic#load} and
|
|
279
|
+
* {@link Ext.form.Basic#doAction} for details)
|
|
280
|
+
*/
|
|
281
|
+
load: function(options) {
|
|
282
|
+
this.form.load(options);
|
|
283
|
+
},
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* This is a proxy for the underlying BasicForm's {@link Ext.form.Basic#submit} call.
|
|
287
|
+
* @param {Object} options The options to pass to the action (see {@link Ext.form.Basic#submit} and
|
|
288
|
+
* {@link Ext.form.Basic#doAction} for details)
|
|
289
|
+
*/
|
|
290
|
+
submit: function(options) {
|
|
291
|
+
this.form.submit(options);
|
|
292
|
+
},
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Start an interval task to continuously poll all the fields in the form for changes in their
|
|
296
|
+
* values. This is normally started automatically by setting the {@link #pollForChanges} config.
|
|
297
|
+
* @param {Number} interval The interval in milliseconds at which the check should run.
|
|
298
|
+
*/
|
|
299
|
+
startPolling: function(interval) {
|
|
300
|
+
this.stopPolling();
|
|
301
|
+
var task = new Ext.util.TaskRunner(interval);
|
|
302
|
+
task.start({
|
|
303
|
+
interval: 0,
|
|
304
|
+
run: this.checkChange,
|
|
305
|
+
scope: this
|
|
306
|
+
});
|
|
307
|
+
this.pollTask = task;
|
|
308
|
+
},
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Stop a running interval task that was started by {@link #startPolling}.
|
|
312
|
+
*/
|
|
313
|
+
stopPolling: function() {
|
|
314
|
+
var task = this.pollTask;
|
|
315
|
+
if (task) {
|
|
316
|
+
task.stopAll();
|
|
317
|
+
delete this.pollTask;
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Forces each field within the form panel to
|
|
323
|
+
* {@link Ext.form.field.Field#checkChange check if its value has changed}.
|
|
324
|
+
*/
|
|
325
|
+
checkChange: function() {
|
|
326
|
+
var fields = this.form.getFields().items,
|
|
327
|
+
f,
|
|
328
|
+
fLen = fields.length,
|
|
329
|
+
field;
|
|
330
|
+
|
|
331
|
+
for (f = 0; f < fLen; f++) {
|
|
332
|
+
fields[f].checkChange();
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
});
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A {@link Ext.form.FieldContainer field container} which has a specialized layout for arranging
|
|
3
|
+
* {@link Ext.form.field.Radio} controls into columns, and provides convenience {@link Ext.form.field.Field}
|
|
4
|
+
* methods for {@link #getValue getting}, {@link #setValue setting}, and {@link #validate validating} the
|
|
5
|
+
* group of radio buttons as a whole.
|
|
6
|
+
*
|
|
7
|
+
* # Validation
|
|
8
|
+
*
|
|
9
|
+
* Individual radio buttons themselves have no default validation behavior, but
|
|
10
|
+
* sometimes you want to require a user to select one of a group of radios. RadioGroup
|
|
11
|
+
* allows this by setting the config `{@link #allowBlank}:false`; when the user does not check at
|
|
12
|
+
* one of the radio buttons, the entire group will be highlighted as invalid and the
|
|
13
|
+
* {@link #blankText error message} will be displayed according to the {@link #msgTarget} config.
|
|
14
|
+
*
|
|
15
|
+
* # Layout
|
|
16
|
+
*
|
|
17
|
+
* The default layout for RadioGroup makes it easy to arrange the radio buttons into
|
|
18
|
+
* columns; see the {@link #columns} and {@link #vertical} config documentation for details. You may also
|
|
19
|
+
* use a completely different layout by setting the {@link #layout} to one of the other supported layout
|
|
20
|
+
* types; for instance you may wish to use a custom arrangement of hbox and vbox containers. In that case
|
|
21
|
+
* the Radio components at any depth will still be managed by the RadioGroup's validation.
|
|
22
|
+
*
|
|
23
|
+
* # Example usage
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* Ext.create('Ext.form.Panel', {
|
|
27
|
+
* title: 'RadioGroup Example',
|
|
28
|
+
* width: 300,
|
|
29
|
+
* height: 125,
|
|
30
|
+
* bodyPadding: 10,
|
|
31
|
+
* renderTo: Ext.getBody(),
|
|
32
|
+
* items:[{
|
|
33
|
+
* xtype: 'radiogroup',
|
|
34
|
+
* fieldLabel: 'Two Columns',
|
|
35
|
+
* // Arrange radio buttons into two columns, distributed vertically
|
|
36
|
+
* columns: 2,
|
|
37
|
+
* vertical: true,
|
|
38
|
+
* items: [
|
|
39
|
+
* { boxLabel: 'Item 1', name: 'rb', inputValue: '1' },
|
|
40
|
+
* { boxLabel: 'Item 2', name: 'rb', inputValue: '2', checked: true},
|
|
41
|
+
* { boxLabel: 'Item 3', name: 'rb', inputValue: '3' },
|
|
42
|
+
* { boxLabel: 'Item 4', name: 'rb', inputValue: '4' },
|
|
43
|
+
* { boxLabel: 'Item 5', name: 'rb', inputValue: '5' },
|
|
44
|
+
* { boxLabel: 'Item 6', name: 'rb', inputValue: '6' }
|
|
45
|
+
* ]
|
|
46
|
+
* }]
|
|
47
|
+
* });
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
Ext.define('Ext.form.RadioGroup', {
|
|
51
|
+
extend: 'Ext.form.CheckboxGroup',
|
|
52
|
+
alias: 'widget.radiogroup',
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @cfg {Ext.form.field.Radio[]/Object[]} items
|
|
56
|
+
* An Array of {@link Ext.form.field.Radio Radio}s or Radio config objects to arrange in the group.
|
|
57
|
+
*/
|
|
58
|
+
/**
|
|
59
|
+
* @cfg {Boolean} allowBlank
|
|
60
|
+
* True to allow every item in the group to be blank.
|
|
61
|
+
* If allowBlank = false and no items are selected at validation time, {@link #blankText} will
|
|
62
|
+
* be used as the error text.
|
|
63
|
+
*/
|
|
64
|
+
allowBlank : true,
|
|
65
|
+
/**
|
|
66
|
+
* @cfg {String} blankText
|
|
67
|
+
* Error text to display if the {@link #allowBlank} validation fails
|
|
68
|
+
*/
|
|
69
|
+
//<locale>
|
|
70
|
+
blankText : 'You must select one item in this group',
|
|
71
|
+
//</locale>
|
|
72
|
+
|
|
73
|
+
// private
|
|
74
|
+
defaultType : 'radiofield',
|
|
75
|
+
|
|
76
|
+
// private
|
|
77
|
+
groupCls : Ext.baseCSSPrefix + 'form-radio-group',
|
|
78
|
+
|
|
79
|
+
getBoxes: function(query) {
|
|
80
|
+
return this.query('[isRadio]' + (query||''));
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
checkChange: function() {
|
|
84
|
+
var value = this.getValue(),
|
|
85
|
+
key = Ext.Object.getKeys(value)[0];
|
|
86
|
+
|
|
87
|
+
// If the value is an array we skip out here because it's during a change
|
|
88
|
+
// between multiple items, so we never want to fire a change
|
|
89
|
+
if (Ext.isArray(value[key])) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
this.callParent(arguments);
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Sets the value of the radio group. The radio with corresponding name and value will be set.
|
|
97
|
+
* This method is simpler than {@link Ext.form.CheckboxGroup#setValue} because only 1 value is allowed
|
|
98
|
+
* for each name.
|
|
99
|
+
*
|
|
100
|
+
* @param {Object} value The map from names to values to be set.
|
|
101
|
+
* @return {Ext.form.CheckboxGroup} this
|
|
102
|
+
*/
|
|
103
|
+
setValue: function(value) {
|
|
104
|
+
var cbValue, first, formId, radios,
|
|
105
|
+
i, len, name;
|
|
106
|
+
|
|
107
|
+
if (Ext.isObject(value)) {
|
|
108
|
+
for (name in value) {
|
|
109
|
+
if (value.hasOwnProperty(name)) {
|
|
110
|
+
cbValue = value[name];
|
|
111
|
+
first = this.items.first();
|
|
112
|
+
formId = first ? first.getFormId() : null;
|
|
113
|
+
radios = Ext.form.RadioManager.getWithValue(name, cbValue, formId).items;
|
|
114
|
+
len = radios.length;
|
|
115
|
+
|
|
116
|
+
for (i = 0; i < len; ++i) {
|
|
117
|
+
radios[i].setValue(true);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
});
|