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,736 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class Ext
|
|
3
|
+
* @singleton
|
|
4
|
+
*/
|
|
5
|
+
var Ext = Ext || {};
|
|
6
|
+
Ext._startTime = new Date().getTime();
|
|
7
|
+
(function() {
|
|
8
|
+
var global = this,
|
|
9
|
+
objectPrototype = Object.prototype,
|
|
10
|
+
toString = objectPrototype.toString,
|
|
11
|
+
enumerables = true,
|
|
12
|
+
enumerablesTest = { toString: 1 },
|
|
13
|
+
emptyFn = function () {},
|
|
14
|
+
// This is the "$previous" method of a hook function on an instance. When called, it
|
|
15
|
+
// calls through the class prototype by the name of the called method.
|
|
16
|
+
callOverrideParent = function () {
|
|
17
|
+
var method = callOverrideParent.caller.caller; // skip callParent (our caller)
|
|
18
|
+
return method.$owner.prototype[method.$name].apply(this, arguments);
|
|
19
|
+
},
|
|
20
|
+
i;
|
|
21
|
+
|
|
22
|
+
Ext.global = global;
|
|
23
|
+
|
|
24
|
+
for (i in enumerablesTest) {
|
|
25
|
+
enumerables = null;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (enumerables) {
|
|
29
|
+
enumerables = ['hasOwnProperty', 'valueOf', 'isPrototypeOf', 'propertyIsEnumerable',
|
|
30
|
+
'toLocaleString', 'toString', 'constructor'];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* An array containing extra enumerables for old browsers
|
|
35
|
+
* @property {String[]}
|
|
36
|
+
*/
|
|
37
|
+
Ext.enumerables = enumerables;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Copies all the properties of config to the specified object.
|
|
41
|
+
* Note that if recursive merging and cloning without referencing the original objects / arrays is needed, use
|
|
42
|
+
* {@link Ext.Object#merge} instead.
|
|
43
|
+
* @param {Object} object The receiver of the properties
|
|
44
|
+
* @param {Object} config The source of the properties
|
|
45
|
+
* @param {Object} [defaults] A different object that will also be applied for default values
|
|
46
|
+
* @return {Object} returns obj
|
|
47
|
+
*/
|
|
48
|
+
Ext.apply = function(object, config, defaults) {
|
|
49
|
+
if (defaults) {
|
|
50
|
+
Ext.apply(object, defaults);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (object && config && typeof config === 'object') {
|
|
54
|
+
var i, j, k;
|
|
55
|
+
|
|
56
|
+
for (i in config) {
|
|
57
|
+
object[i] = config[i];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (enumerables) {
|
|
61
|
+
for (j = enumerables.length; j--;) {
|
|
62
|
+
k = enumerables[j];
|
|
63
|
+
if (config.hasOwnProperty(k)) {
|
|
64
|
+
object[k] = config[k];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return object;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
Ext.buildSettings = Ext.apply({
|
|
74
|
+
baseCSSPrefix: 'x-',
|
|
75
|
+
scopeResetCSS: false
|
|
76
|
+
}, Ext.buildSettings || {});
|
|
77
|
+
|
|
78
|
+
Ext.apply(Ext, {
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* @property {String} [name='Ext']
|
|
82
|
+
* <p>The name of the property in the global namespace (The <code>window</code> in browser environments) which refers to the current instance of Ext.</p>
|
|
83
|
+
* <p>This is usually <code>"Ext"</code>, but if a sandboxed build of ExtJS is being used, this will be an alternative name.</p>
|
|
84
|
+
* <p>If code is being generated for use by <code>eval</code> or to create a <code>new Function</code>, and the global instance
|
|
85
|
+
* of Ext must be referenced, this is the name that should be built into the code.</p>
|
|
86
|
+
*/
|
|
87
|
+
name: Ext.sandboxName || 'Ext',
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* A reusable empty function
|
|
91
|
+
*/
|
|
92
|
+
emptyFn: emptyFn,
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* A zero length string which will pass a truth test. Useful for passing to methods
|
|
96
|
+
* which use a truth test to reject <i>falsy</i> values where a string value must be cleared.
|
|
97
|
+
*/
|
|
98
|
+
emptyString: new String(),
|
|
99
|
+
|
|
100
|
+
baseCSSPrefix: Ext.buildSettings.baseCSSPrefix,
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Copies all the properties of config to object if they don't already exist.
|
|
104
|
+
* @param {Object} object The receiver of the properties
|
|
105
|
+
* @param {Object} config The source of the properties
|
|
106
|
+
* @return {Object} returns obj
|
|
107
|
+
*/
|
|
108
|
+
applyIf: function(object, config) {
|
|
109
|
+
var property;
|
|
110
|
+
|
|
111
|
+
if (object) {
|
|
112
|
+
for (property in config) {
|
|
113
|
+
if (object[property] === undefined) {
|
|
114
|
+
object[property] = config[property];
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return object;
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Iterates either an array or an object. This method delegates to
|
|
124
|
+
* {@link Ext.Array#each Ext.Array.each} if the given value is iterable, and {@link Ext.Object#each Ext.Object.each} otherwise.
|
|
125
|
+
*
|
|
126
|
+
* @param {Object/Array} object The object or array to be iterated.
|
|
127
|
+
* @param {Function} fn The function to be called for each iteration. See and {@link Ext.Array#each Ext.Array.each} and
|
|
128
|
+
* {@link Ext.Object#each Ext.Object.each} for detailed lists of arguments passed to this function depending on the given object
|
|
129
|
+
* type that is being iterated.
|
|
130
|
+
* @param {Object} scope (Optional) The scope (`this` reference) in which the specified function is executed.
|
|
131
|
+
* Defaults to the object being iterated itself.
|
|
132
|
+
* @markdown
|
|
133
|
+
*/
|
|
134
|
+
iterate: function(object, fn, scope) {
|
|
135
|
+
if (Ext.isEmpty(object)) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (scope === undefined) {
|
|
140
|
+
scope = object;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (Ext.isIterable(object)) {
|
|
144
|
+
Ext.Array.each.call(Ext.Array, object, fn, scope);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
Ext.Object.each.call(Ext.Object, object, fn, scope);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
Ext.apply(Ext, {
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* This method deprecated. Use {@link Ext#define Ext.define} instead.
|
|
156
|
+
* @method
|
|
157
|
+
* @param {Function} superclass
|
|
158
|
+
* @param {Object} overrides
|
|
159
|
+
* @return {Function} The subclass constructor from the <tt>overrides</tt> parameter, or a generated one if not provided.
|
|
160
|
+
* @deprecated 4.0.0 Use {@link Ext#define Ext.define} instead
|
|
161
|
+
*/
|
|
162
|
+
extend: (function() {
|
|
163
|
+
// inline overrides
|
|
164
|
+
var objectConstructor = objectPrototype.constructor,
|
|
165
|
+
inlineOverrides = function(o) {
|
|
166
|
+
for (var m in o) {
|
|
167
|
+
if (!o.hasOwnProperty(m)) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
this[m] = o[m];
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
return function(subclass, superclass, overrides) {
|
|
175
|
+
// First we check if the user passed in just the superClass with overrides
|
|
176
|
+
if (Ext.isObject(superclass)) {
|
|
177
|
+
overrides = superclass;
|
|
178
|
+
superclass = subclass;
|
|
179
|
+
subclass = overrides.constructor !== objectConstructor ? overrides.constructor : function() {
|
|
180
|
+
superclass.apply(this, arguments);
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
//<debug>
|
|
185
|
+
if (!superclass) {
|
|
186
|
+
Ext.Error.raise({
|
|
187
|
+
sourceClass: 'Ext',
|
|
188
|
+
sourceMethod: 'extend',
|
|
189
|
+
msg: 'Attempting to extend from a class which has not been loaded on the page.'
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
//</debug>
|
|
193
|
+
|
|
194
|
+
// We create a new temporary class
|
|
195
|
+
var F = function() {},
|
|
196
|
+
subclassProto, superclassProto = superclass.prototype;
|
|
197
|
+
|
|
198
|
+
F.prototype = superclassProto;
|
|
199
|
+
subclassProto = subclass.prototype = new F();
|
|
200
|
+
subclassProto.constructor = subclass;
|
|
201
|
+
subclass.superclass = superclassProto;
|
|
202
|
+
|
|
203
|
+
if (superclassProto.constructor === objectConstructor) {
|
|
204
|
+
superclassProto.constructor = superclass;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
subclass.override = function(overrides) {
|
|
208
|
+
Ext.override(subclass, overrides);
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
subclassProto.override = inlineOverrides;
|
|
212
|
+
subclassProto.proto = subclassProto;
|
|
213
|
+
|
|
214
|
+
subclass.override(overrides);
|
|
215
|
+
subclass.extend = function(o) {
|
|
216
|
+
return Ext.extend(subclass, o);
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
return subclass;
|
|
220
|
+
};
|
|
221
|
+
}()),
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Overrides members of the specified `target` with the given values.
|
|
225
|
+
*
|
|
226
|
+
* If the `target` is a class declared using {@link Ext#define Ext.define}, the
|
|
227
|
+
* `override` method of that class is called (see {@link Ext.Base#override}) given
|
|
228
|
+
* the `overrides`.
|
|
229
|
+
*
|
|
230
|
+
* If the `target` is a function, it is assumed to be a constructor and the contents
|
|
231
|
+
* of `overrides` are applied to its `prototype` using {@link Ext#apply Ext.apply}.
|
|
232
|
+
*
|
|
233
|
+
* If the `target` is an instance of a class declared using {@link Ext#define Ext.define},
|
|
234
|
+
* the `overrides` are applied to only that instance. In this case, methods are
|
|
235
|
+
* specially processed to allow them to use {@link Ext.Base#callParent}.
|
|
236
|
+
*
|
|
237
|
+
* var panel = new Ext.Panel({ ... });
|
|
238
|
+
*
|
|
239
|
+
* Ext.override(panel, {
|
|
240
|
+
* initComponent: function () {
|
|
241
|
+
* // extra processing...
|
|
242
|
+
*
|
|
243
|
+
* this.callParent();
|
|
244
|
+
* }
|
|
245
|
+
* });
|
|
246
|
+
*
|
|
247
|
+
* If the `target` is none of these, the `overrides` are applied to the `target`
|
|
248
|
+
* using {@link Ext#apply Ext.apply}.
|
|
249
|
+
*
|
|
250
|
+
* Please refer to {@link Ext#define Ext.define} and {@link Ext.Base#override} for
|
|
251
|
+
* further details.
|
|
252
|
+
*
|
|
253
|
+
* @param {Object} target The target to override.
|
|
254
|
+
* @param {Object} overrides The properties to add or replace on `target`.
|
|
255
|
+
* @method override
|
|
256
|
+
*/
|
|
257
|
+
override: function (target, overrides) {
|
|
258
|
+
if (target.$isClass) {
|
|
259
|
+
target.override(overrides);
|
|
260
|
+
} else if (typeof target == 'function') {
|
|
261
|
+
Ext.apply(target.prototype, overrides);
|
|
262
|
+
} else {
|
|
263
|
+
var owner = target.self,
|
|
264
|
+
name, value;
|
|
265
|
+
|
|
266
|
+
if (owner && owner.$isClass) { // if (instance of Ext.define'd class)
|
|
267
|
+
for (name in overrides) {
|
|
268
|
+
if (overrides.hasOwnProperty(name)) {
|
|
269
|
+
value = overrides[name];
|
|
270
|
+
|
|
271
|
+
if (typeof value == 'function') {
|
|
272
|
+
//<debug>
|
|
273
|
+
if (owner.$className) {
|
|
274
|
+
value.displayName = owner.$className + '#' + name;
|
|
275
|
+
}
|
|
276
|
+
//</debug>
|
|
277
|
+
|
|
278
|
+
value.$name = name;
|
|
279
|
+
value.$owner = owner;
|
|
280
|
+
value.$previous = target.hasOwnProperty(name)
|
|
281
|
+
? target[name] // already hooked, so call previous hook
|
|
282
|
+
: callOverrideParent; // calls by name on prototype
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
target[name] = value;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
} else {
|
|
289
|
+
Ext.apply(target, overrides);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
return target;
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
|
|
297
|
+
// A full set of static methods to do type checking
|
|
298
|
+
Ext.apply(Ext, {
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Returns the given value itself if it's not empty, as described in {@link Ext#isEmpty}; returns the default
|
|
302
|
+
* value (second argument) otherwise.
|
|
303
|
+
*
|
|
304
|
+
* @param {Object} value The value to test
|
|
305
|
+
* @param {Object} defaultValue The value to return if the original value is empty
|
|
306
|
+
* @param {Boolean} allowBlank (optional) true to allow zero length strings to qualify as non-empty (defaults to false)
|
|
307
|
+
* @return {Object} value, if non-empty, else defaultValue
|
|
308
|
+
*/
|
|
309
|
+
valueFrom: function(value, defaultValue, allowBlank){
|
|
310
|
+
return Ext.isEmpty(value, allowBlank) ? defaultValue : value;
|
|
311
|
+
},
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Returns the type of the given variable in string format. List of possible values are:
|
|
315
|
+
*
|
|
316
|
+
* - `undefined`: If the given value is `undefined`
|
|
317
|
+
* - `null`: If the given value is `null`
|
|
318
|
+
* - `string`: If the given value is a string
|
|
319
|
+
* - `number`: If the given value is a number
|
|
320
|
+
* - `boolean`: If the given value is a boolean value
|
|
321
|
+
* - `date`: If the given value is a `Date` object
|
|
322
|
+
* - `function`: If the given value is a function reference
|
|
323
|
+
* - `object`: If the given value is an object
|
|
324
|
+
* - `array`: If the given value is an array
|
|
325
|
+
* - `regexp`: If the given value is a regular expression
|
|
326
|
+
* - `element`: If the given value is a DOM Element
|
|
327
|
+
* - `textnode`: If the given value is a DOM text node and contains something other than whitespace
|
|
328
|
+
* - `whitespace`: If the given value is a DOM text node and contains only whitespace
|
|
329
|
+
*
|
|
330
|
+
* @param {Object} value
|
|
331
|
+
* @return {String}
|
|
332
|
+
* @markdown
|
|
333
|
+
*/
|
|
334
|
+
typeOf: function(value) {
|
|
335
|
+
var type,
|
|
336
|
+
typeToString;
|
|
337
|
+
|
|
338
|
+
if (value === null) {
|
|
339
|
+
return 'null';
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
type = typeof value;
|
|
343
|
+
|
|
344
|
+
if (type === 'undefined' || type === 'string' || type === 'number' || type === 'boolean') {
|
|
345
|
+
return type;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
typeToString = toString.call(value);
|
|
349
|
+
|
|
350
|
+
switch(typeToString) {
|
|
351
|
+
case '[object Array]':
|
|
352
|
+
return 'array';
|
|
353
|
+
case '[object Date]':
|
|
354
|
+
return 'date';
|
|
355
|
+
case '[object Boolean]':
|
|
356
|
+
return 'boolean';
|
|
357
|
+
case '[object Number]':
|
|
358
|
+
return 'number';
|
|
359
|
+
case '[object RegExp]':
|
|
360
|
+
return 'regexp';
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
if (type === 'function') {
|
|
364
|
+
return 'function';
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
if (type === 'object') {
|
|
368
|
+
if (value.nodeType !== undefined) {
|
|
369
|
+
if (value.nodeType === 3) {
|
|
370
|
+
return (/\S/).test(value.nodeValue) ? 'textnode' : 'whitespace';
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
return 'element';
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
return 'object';
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
//<debug error>
|
|
381
|
+
Ext.Error.raise({
|
|
382
|
+
sourceClass: 'Ext',
|
|
383
|
+
sourceMethod: 'typeOf',
|
|
384
|
+
msg: 'Failed to determine the type of the specified value "' + value + '". This is most likely a bug.'
|
|
385
|
+
});
|
|
386
|
+
//</debug>
|
|
387
|
+
},
|
|
388
|
+
|
|
389
|
+
/**
|
|
390
|
+
* Returns true if the passed value is empty, false otherwise. The value is deemed to be empty if it is either:
|
|
391
|
+
*
|
|
392
|
+
* - `null`
|
|
393
|
+
* - `undefined`
|
|
394
|
+
* - a zero-length array
|
|
395
|
+
* - a zero-length string (Unless the `allowEmptyString` parameter is set to `true`)
|
|
396
|
+
*
|
|
397
|
+
* @param {Object} value The value to test
|
|
398
|
+
* @param {Boolean} allowEmptyString (optional) true to allow empty strings (defaults to false)
|
|
399
|
+
* @return {Boolean}
|
|
400
|
+
* @markdown
|
|
401
|
+
*/
|
|
402
|
+
isEmpty: function(value, allowEmptyString) {
|
|
403
|
+
return (value === null) || (value === undefined) || (!allowEmptyString ? value === '' : false) || (Ext.isArray(value) && value.length === 0);
|
|
404
|
+
},
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* Returns true if the passed value is a JavaScript Array, false otherwise.
|
|
408
|
+
*
|
|
409
|
+
* @param {Object} target The target to test
|
|
410
|
+
* @return {Boolean}
|
|
411
|
+
* @method
|
|
412
|
+
*/
|
|
413
|
+
isArray: ('isArray' in Array) ? Array.isArray : function(value) {
|
|
414
|
+
return toString.call(value) === '[object Array]';
|
|
415
|
+
},
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Returns true if the passed value is a JavaScript Date object, false otherwise.
|
|
419
|
+
* @param {Object} object The object to test
|
|
420
|
+
* @return {Boolean}
|
|
421
|
+
*/
|
|
422
|
+
isDate: function(value) {
|
|
423
|
+
return toString.call(value) === '[object Date]';
|
|
424
|
+
},
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* Returns true if the passed value is a JavaScript Object, false otherwise.
|
|
428
|
+
* @param {Object} value The value to test
|
|
429
|
+
* @return {Boolean}
|
|
430
|
+
* @method
|
|
431
|
+
*/
|
|
432
|
+
isObject: (toString.call(null) === '[object Object]') ?
|
|
433
|
+
function(value) {
|
|
434
|
+
// check ownerDocument here as well to exclude DOM nodes
|
|
435
|
+
return value !== null && value !== undefined && toString.call(value) === '[object Object]' && value.ownerDocument === undefined;
|
|
436
|
+
} :
|
|
437
|
+
function(value) {
|
|
438
|
+
return toString.call(value) === '[object Object]';
|
|
439
|
+
},
|
|
440
|
+
|
|
441
|
+
/**
|
|
442
|
+
* @private
|
|
443
|
+
*/
|
|
444
|
+
isSimpleObject: function(value) {
|
|
445
|
+
return value instanceof Object && value.constructor === Object;
|
|
446
|
+
},
|
|
447
|
+
/**
|
|
448
|
+
* Returns true if the passed value is a JavaScript 'primitive', a string, number or boolean.
|
|
449
|
+
* @param {Object} value The value to test
|
|
450
|
+
* @return {Boolean}
|
|
451
|
+
*/
|
|
452
|
+
isPrimitive: function(value) {
|
|
453
|
+
var type = typeof value;
|
|
454
|
+
|
|
455
|
+
return type === 'string' || type === 'number' || type === 'boolean';
|
|
456
|
+
},
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Returns true if the passed value is a JavaScript Function, false otherwise.
|
|
460
|
+
* @param {Object} value The value to test
|
|
461
|
+
* @return {Boolean}
|
|
462
|
+
* @method
|
|
463
|
+
*/
|
|
464
|
+
isFunction:
|
|
465
|
+
// Safari 3.x and 4.x returns 'function' for typeof <NodeList>, hence we need to fall back to using
|
|
466
|
+
// Object.prototype.toString (slower)
|
|
467
|
+
(typeof document !== 'undefined' && typeof document.getElementsByTagName('body') === 'function') ? function(value) {
|
|
468
|
+
return toString.call(value) === '[object Function]';
|
|
469
|
+
} : function(value) {
|
|
470
|
+
return typeof value === 'function';
|
|
471
|
+
},
|
|
472
|
+
|
|
473
|
+
/**
|
|
474
|
+
* Returns true if the passed value is a number. Returns false for non-finite numbers.
|
|
475
|
+
* @param {Object} value The value to test
|
|
476
|
+
* @return {Boolean}
|
|
477
|
+
*/
|
|
478
|
+
isNumber: function(value) {
|
|
479
|
+
return typeof value === 'number' && isFinite(value);
|
|
480
|
+
},
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* Validates that a value is numeric.
|
|
484
|
+
* @param {Object} value Examples: 1, '1', '2.34'
|
|
485
|
+
* @return {Boolean} True if numeric, false otherwise
|
|
486
|
+
*/
|
|
487
|
+
isNumeric: function(value) {
|
|
488
|
+
return !isNaN(parseFloat(value)) && isFinite(value);
|
|
489
|
+
},
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* Returns true if the passed value is a string.
|
|
493
|
+
* @param {Object} value The value to test
|
|
494
|
+
* @return {Boolean}
|
|
495
|
+
*/
|
|
496
|
+
isString: function(value) {
|
|
497
|
+
return typeof value === 'string';
|
|
498
|
+
},
|
|
499
|
+
|
|
500
|
+
/**
|
|
501
|
+
* Returns true if the passed value is a boolean.
|
|
502
|
+
*
|
|
503
|
+
* @param {Object} value The value to test
|
|
504
|
+
* @return {Boolean}
|
|
505
|
+
*/
|
|
506
|
+
isBoolean: function(value) {
|
|
507
|
+
return typeof value === 'boolean';
|
|
508
|
+
},
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* Returns true if the passed value is an HTMLElement
|
|
512
|
+
* @param {Object} value The value to test
|
|
513
|
+
* @return {Boolean}
|
|
514
|
+
*/
|
|
515
|
+
isElement: function(value) {
|
|
516
|
+
return value ? value.nodeType === 1 : false;
|
|
517
|
+
},
|
|
518
|
+
|
|
519
|
+
/**
|
|
520
|
+
* Returns true if the passed value is a TextNode
|
|
521
|
+
* @param {Object} value The value to test
|
|
522
|
+
* @return {Boolean}
|
|
523
|
+
*/
|
|
524
|
+
isTextNode: function(value) {
|
|
525
|
+
return value ? value.nodeName === "#text" : false;
|
|
526
|
+
},
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Returns true if the passed value is defined.
|
|
530
|
+
* @param {Object} value The value to test
|
|
531
|
+
* @return {Boolean}
|
|
532
|
+
*/
|
|
533
|
+
isDefined: function(value) {
|
|
534
|
+
return typeof value !== 'undefined';
|
|
535
|
+
},
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Returns true if the passed value is iterable, false otherwise
|
|
539
|
+
* @param {Object} value The value to test
|
|
540
|
+
* @return {Boolean}
|
|
541
|
+
*/
|
|
542
|
+
isIterable: function(value) {
|
|
543
|
+
var type = typeof value,
|
|
544
|
+
checkLength = false;
|
|
545
|
+
if (value && type != 'string') {
|
|
546
|
+
// Functions have a length property, so we need to filter them out
|
|
547
|
+
if (type == 'function') {
|
|
548
|
+
// In Safari, NodeList/HTMLCollection both return "function" when using typeof, so we need
|
|
549
|
+
// to explicitly check them here.
|
|
550
|
+
if (Ext.isSafari) {
|
|
551
|
+
checkLength = value instanceof NodeList || value instanceof HTMLCollection;
|
|
552
|
+
}
|
|
553
|
+
} else {
|
|
554
|
+
checkLength = true;
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
return checkLength ? value.length !== undefined : false;
|
|
558
|
+
}
|
|
559
|
+
});
|
|
560
|
+
|
|
561
|
+
Ext.apply(Ext, {
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* Clone simple variables including array, {}-like objects, DOM nodes and Date without keeping the old reference.
|
|
565
|
+
* A reference for the object itself is returned if it's not a direct decendant of Object. For model cloning,
|
|
566
|
+
* see {@link Model#copy Model.copy}.
|
|
567
|
+
*
|
|
568
|
+
* @param {Object} item The variable to clone
|
|
569
|
+
* @return {Object} clone
|
|
570
|
+
*/
|
|
571
|
+
clone: function(item) {
|
|
572
|
+
var type,
|
|
573
|
+
i,
|
|
574
|
+
j,
|
|
575
|
+
k,
|
|
576
|
+
clone,
|
|
577
|
+
key;
|
|
578
|
+
|
|
579
|
+
if (item === null || item === undefined) {
|
|
580
|
+
return item;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
// DOM nodes
|
|
584
|
+
// TODO proxy this to Ext.Element.clone to handle automatic id attribute changing
|
|
585
|
+
// recursively
|
|
586
|
+
if (item.nodeType && item.cloneNode) {
|
|
587
|
+
return item.cloneNode(true);
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
type = toString.call(item);
|
|
591
|
+
|
|
592
|
+
// Date
|
|
593
|
+
if (type === '[object Date]') {
|
|
594
|
+
return new Date(item.getTime());
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
// Array
|
|
599
|
+
if (type === '[object Array]') {
|
|
600
|
+
i = item.length;
|
|
601
|
+
|
|
602
|
+
clone = [];
|
|
603
|
+
|
|
604
|
+
while (i--) {
|
|
605
|
+
clone[i] = Ext.clone(item[i]);
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
// Object
|
|
609
|
+
else if (type === '[object Object]' && item.constructor === Object) {
|
|
610
|
+
clone = {};
|
|
611
|
+
|
|
612
|
+
for (key in item) {
|
|
613
|
+
clone[key] = Ext.clone(item[key]);
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
if (enumerables) {
|
|
617
|
+
for (j = enumerables.length; j--;) {
|
|
618
|
+
k = enumerables[j];
|
|
619
|
+
clone[k] = item[k];
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
return clone || item;
|
|
625
|
+
},
|
|
626
|
+
|
|
627
|
+
/**
|
|
628
|
+
* @private
|
|
629
|
+
* Generate a unique reference of Ext in the global scope, useful for sandboxing
|
|
630
|
+
*/
|
|
631
|
+
getUniqueGlobalNamespace: function() {
|
|
632
|
+
var uniqueGlobalNamespace = this.uniqueGlobalNamespace,
|
|
633
|
+
i;
|
|
634
|
+
|
|
635
|
+
if (uniqueGlobalNamespace === undefined) {
|
|
636
|
+
i = 0;
|
|
637
|
+
|
|
638
|
+
do {
|
|
639
|
+
uniqueGlobalNamespace = 'ExtBox' + (++i);
|
|
640
|
+
} while (Ext.global[uniqueGlobalNamespace] !== undefined);
|
|
641
|
+
|
|
642
|
+
Ext.global[uniqueGlobalNamespace] = Ext;
|
|
643
|
+
this.uniqueGlobalNamespace = uniqueGlobalNamespace;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
return uniqueGlobalNamespace;
|
|
647
|
+
},
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* @private
|
|
651
|
+
*/
|
|
652
|
+
functionFactoryCache: {},
|
|
653
|
+
|
|
654
|
+
cacheableFunctionFactory: function() {
|
|
655
|
+
var me = this,
|
|
656
|
+
args = Array.prototype.slice.call(arguments),
|
|
657
|
+
cache = me.functionFactoryCache,
|
|
658
|
+
idx, fn, ln;
|
|
659
|
+
|
|
660
|
+
if (Ext.isSandboxed) {
|
|
661
|
+
ln = args.length;
|
|
662
|
+
if (ln > 0) {
|
|
663
|
+
ln--;
|
|
664
|
+
args[ln] = 'var Ext=window.' + Ext.name + ';' + args[ln];
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
idx = args.join('');
|
|
668
|
+
fn = cache[idx];
|
|
669
|
+
if (!fn) {
|
|
670
|
+
fn = Function.prototype.constructor.apply(Function.prototype, args);
|
|
671
|
+
|
|
672
|
+
cache[idx] = fn;
|
|
673
|
+
}
|
|
674
|
+
return fn;
|
|
675
|
+
},
|
|
676
|
+
|
|
677
|
+
functionFactory: function() {
|
|
678
|
+
var me = this,
|
|
679
|
+
args = Array.prototype.slice.call(arguments),
|
|
680
|
+
ln;
|
|
681
|
+
|
|
682
|
+
if (Ext.isSandboxed) {
|
|
683
|
+
ln = args.length;
|
|
684
|
+
if (ln > 0) {
|
|
685
|
+
ln--;
|
|
686
|
+
args[ln] = 'var Ext=window.' + Ext.name + ';' + args[ln];
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
return Function.prototype.constructor.apply(Function.prototype, args);
|
|
691
|
+
},
|
|
692
|
+
|
|
693
|
+
/**
|
|
694
|
+
* @private
|
|
695
|
+
* @property
|
|
696
|
+
*/
|
|
697
|
+
Logger: {
|
|
698
|
+
verbose: emptyFn,
|
|
699
|
+
log: emptyFn,
|
|
700
|
+
info: emptyFn,
|
|
701
|
+
warn: emptyFn,
|
|
702
|
+
error: function(message) {
|
|
703
|
+
throw new Error(message);
|
|
704
|
+
},
|
|
705
|
+
deprecate: emptyFn
|
|
706
|
+
}
|
|
707
|
+
});
|
|
708
|
+
|
|
709
|
+
/**
|
|
710
|
+
* Old alias to {@link Ext#typeOf}
|
|
711
|
+
* @deprecated 4.0.0 Use {@link Ext#typeOf} instead
|
|
712
|
+
* @method
|
|
713
|
+
* @inheritdoc Ext#typeOf
|
|
714
|
+
*/
|
|
715
|
+
Ext.type = Ext.typeOf;
|
|
716
|
+
|
|
717
|
+
}());
|
|
718
|
+
|
|
719
|
+
/*
|
|
720
|
+
* This method evaluates the given code free of any local variable. In some browsers this
|
|
721
|
+
* will be at global scope, in others it will be in a function.
|
|
722
|
+
* @parma {String} code The code to evaluate.
|
|
723
|
+
* @private
|
|
724
|
+
* @method
|
|
725
|
+
*/
|
|
726
|
+
Ext.globalEval = Ext.global.execScript
|
|
727
|
+
? function(code) {
|
|
728
|
+
execScript(code);
|
|
729
|
+
}
|
|
730
|
+
: function($$code) {
|
|
731
|
+
// IMPORTANT: because we use eval we cannot place this in the above function or it
|
|
732
|
+
// will break the compressor's ability to rename local variables...
|
|
733
|
+
(function(){
|
|
734
|
+
eval($$code);
|
|
735
|
+
}());
|
|
736
|
+
};
|