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,880 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility class for generating different styles of message boxes. The singleton instance, Ext.MessageBox
|
|
3
|
+
* alias `Ext.Msg` can also be used.
|
|
4
|
+
*
|
|
5
|
+
* Note that a MessageBox is asynchronous. Unlike a regular JavaScript `alert` (which will halt
|
|
6
|
+
* browser execution), showing a MessageBox will not cause the code to stop. For this reason, if you have code
|
|
7
|
+
* that should only run *after* some user feedback from the MessageBox, you must use a callback function
|
|
8
|
+
* (see the `function` parameter for {@link #method-show} for more details).
|
|
9
|
+
*
|
|
10
|
+
* Basic alert
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* Ext.Msg.alert('Status', 'Changes saved successfully.');
|
|
14
|
+
*
|
|
15
|
+
* Prompt for user data and process the result using a callback
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* Ext.Msg.prompt('Name', 'Please enter your name:', function(btn, text){
|
|
19
|
+
* if (btn == 'ok'){
|
|
20
|
+
* // process text value and close...
|
|
21
|
+
* }
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* Show a dialog using config options
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* Ext.Msg.show({
|
|
28
|
+
* title:'Save Changes?',
|
|
29
|
+
* msg: 'You are closing a tab that has unsaved changes. Would you like to save your changes?',
|
|
30
|
+
* buttons: Ext.Msg.YESNOCANCEL,
|
|
31
|
+
* icon: Ext.Msg.QUESTION
|
|
32
|
+
* });
|
|
33
|
+
*/
|
|
34
|
+
Ext.define('Ext.window.MessageBox', {
|
|
35
|
+
extend: 'Ext.window.Window',
|
|
36
|
+
|
|
37
|
+
requires: [
|
|
38
|
+
'Ext.toolbar.Toolbar',
|
|
39
|
+
'Ext.form.field.Text',
|
|
40
|
+
'Ext.form.field.TextArea',
|
|
41
|
+
'Ext.form.field.Display',
|
|
42
|
+
'Ext.button.Button',
|
|
43
|
+
'Ext.layout.container.Anchor',
|
|
44
|
+
'Ext.layout.container.HBox',
|
|
45
|
+
'Ext.ProgressBar'
|
|
46
|
+
],
|
|
47
|
+
|
|
48
|
+
alias: 'widget.messagebox',
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @property
|
|
52
|
+
* Button config that displays a single OK button
|
|
53
|
+
*/
|
|
54
|
+
OK : 1,
|
|
55
|
+
/**
|
|
56
|
+
* @property
|
|
57
|
+
* Button config that displays a single Yes button
|
|
58
|
+
*/
|
|
59
|
+
YES : 2,
|
|
60
|
+
/**
|
|
61
|
+
* @property
|
|
62
|
+
* Button config that displays a single No button
|
|
63
|
+
*/
|
|
64
|
+
NO : 4,
|
|
65
|
+
/**
|
|
66
|
+
* @property
|
|
67
|
+
* Button config that displays a single Cancel button
|
|
68
|
+
*/
|
|
69
|
+
CANCEL : 8,
|
|
70
|
+
/**
|
|
71
|
+
* @property
|
|
72
|
+
* Button config that displays OK and Cancel buttons
|
|
73
|
+
*/
|
|
74
|
+
OKCANCEL : 9,
|
|
75
|
+
/**
|
|
76
|
+
* @property
|
|
77
|
+
* Button config that displays Yes and No buttons
|
|
78
|
+
*/
|
|
79
|
+
YESNO : 6,
|
|
80
|
+
/**
|
|
81
|
+
* @property
|
|
82
|
+
* Button config that displays Yes, No and Cancel buttons
|
|
83
|
+
*/
|
|
84
|
+
YESNOCANCEL : 14,
|
|
85
|
+
/**
|
|
86
|
+
* @property
|
|
87
|
+
* The CSS class that provides the INFO icon image
|
|
88
|
+
*/
|
|
89
|
+
INFO : Ext.baseCSSPrefix + 'message-box-info',
|
|
90
|
+
/**
|
|
91
|
+
* @property
|
|
92
|
+
* The CSS class that provides the WARNING icon image
|
|
93
|
+
*/
|
|
94
|
+
WARNING : Ext.baseCSSPrefix + 'message-box-warning',
|
|
95
|
+
/**
|
|
96
|
+
* @property
|
|
97
|
+
* The CSS class that provides the QUESTION icon image
|
|
98
|
+
*/
|
|
99
|
+
QUESTION : Ext.baseCSSPrefix + 'message-box-question',
|
|
100
|
+
/**
|
|
101
|
+
* @property
|
|
102
|
+
* The CSS class that provides the ERROR icon image
|
|
103
|
+
*/
|
|
104
|
+
ERROR : Ext.baseCSSPrefix + 'message-box-error',
|
|
105
|
+
|
|
106
|
+
// hide it by offsets. Windows are hidden on render by default.
|
|
107
|
+
hideMode: 'offsets',
|
|
108
|
+
closeAction: 'hide',
|
|
109
|
+
resizable: false,
|
|
110
|
+
title: ' ',
|
|
111
|
+
|
|
112
|
+
width: 600,
|
|
113
|
+
height: 500,
|
|
114
|
+
minWidth: 250,
|
|
115
|
+
maxWidth: 600,
|
|
116
|
+
minHeight: 110,
|
|
117
|
+
maxHeight: 500,
|
|
118
|
+
constrain: true,
|
|
119
|
+
|
|
120
|
+
cls: Ext.baseCSSPrefix + 'message-box',
|
|
121
|
+
|
|
122
|
+
layout: {
|
|
123
|
+
type: 'vbox',
|
|
124
|
+
align: 'stretch'
|
|
125
|
+
},
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* @property
|
|
129
|
+
* The default height in pixels of the message box's multiline textarea if displayed.
|
|
130
|
+
*/
|
|
131
|
+
defaultTextHeight : 75,
|
|
132
|
+
/**
|
|
133
|
+
* @property
|
|
134
|
+
* The minimum width in pixels of the message box if it is a progress-style dialog. This is useful
|
|
135
|
+
* for setting a different minimum width than text-only dialogs may need.
|
|
136
|
+
*/
|
|
137
|
+
minProgressWidth : 250,
|
|
138
|
+
/**
|
|
139
|
+
* @property
|
|
140
|
+
* The minimum width in pixels of the message box if it is a prompt dialog. This is useful
|
|
141
|
+
* for setting a different minimum width than text-only dialogs may need.
|
|
142
|
+
*/
|
|
143
|
+
minPromptWidth: 250,
|
|
144
|
+
//<locale type="object">
|
|
145
|
+
/**
|
|
146
|
+
* @property
|
|
147
|
+
* An object containing the default button text strings that can be overriden for localized language support.
|
|
148
|
+
* Supported properties are: ok, cancel, yes and no. Generally you should include a locale-specific
|
|
149
|
+
* resource file for handling language support across the framework.
|
|
150
|
+
* Customize the default text like so:
|
|
151
|
+
*
|
|
152
|
+
* Ext.window.MessageBox.buttonText.yes = "oui"; //french
|
|
153
|
+
*/
|
|
154
|
+
buttonText: {
|
|
155
|
+
ok: 'OK',
|
|
156
|
+
yes: 'Yes',
|
|
157
|
+
no: 'No',
|
|
158
|
+
cancel: 'Cancel'
|
|
159
|
+
},
|
|
160
|
+
//</locale>
|
|
161
|
+
|
|
162
|
+
buttonIds: [
|
|
163
|
+
'ok', 'yes', 'no', 'cancel'
|
|
164
|
+
],
|
|
165
|
+
|
|
166
|
+
//<locale type="object">
|
|
167
|
+
titleText: {
|
|
168
|
+
confirm: 'Confirm',
|
|
169
|
+
prompt: 'Prompt',
|
|
170
|
+
wait: 'Loading...',
|
|
171
|
+
alert: 'Attention'
|
|
172
|
+
},
|
|
173
|
+
//</locale>
|
|
174
|
+
|
|
175
|
+
iconHeight: 35,
|
|
176
|
+
|
|
177
|
+
makeButton: function(btnIdx) {
|
|
178
|
+
var btnId = this.buttonIds[btnIdx];
|
|
179
|
+
return new Ext.button.Button({
|
|
180
|
+
handler: this.btnCallback,
|
|
181
|
+
itemId: btnId,
|
|
182
|
+
scope: this,
|
|
183
|
+
text: this.buttonText[btnId],
|
|
184
|
+
minWidth: 75
|
|
185
|
+
});
|
|
186
|
+
},
|
|
187
|
+
|
|
188
|
+
btnCallback: function(btn) {
|
|
189
|
+
var me = this,
|
|
190
|
+
value,
|
|
191
|
+
field;
|
|
192
|
+
|
|
193
|
+
if (me.cfg.prompt || me.cfg.multiline) {
|
|
194
|
+
if (me.cfg.multiline) {
|
|
195
|
+
field = me.textArea;
|
|
196
|
+
} else {
|
|
197
|
+
field = me.textField;
|
|
198
|
+
}
|
|
199
|
+
value = field.getValue();
|
|
200
|
+
field.reset();
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// Important not to have focus remain in the hidden Window; Interferes with DnD.
|
|
204
|
+
btn.blur();
|
|
205
|
+
me.hide();
|
|
206
|
+
me.userCallback(btn.itemId, value, me.cfg);
|
|
207
|
+
},
|
|
208
|
+
|
|
209
|
+
hide: function() {
|
|
210
|
+
var me = this;
|
|
211
|
+
me.dd.endDrag();
|
|
212
|
+
me.progressBar.reset();
|
|
213
|
+
me.removeCls(me.cfg.cls);
|
|
214
|
+
me.callParent(arguments);
|
|
215
|
+
},
|
|
216
|
+
|
|
217
|
+
initComponent: function() {
|
|
218
|
+
var me = this,
|
|
219
|
+
baseId = me.id,
|
|
220
|
+
i, button,
|
|
221
|
+
tbLayout;
|
|
222
|
+
|
|
223
|
+
me.title = ' ';
|
|
224
|
+
|
|
225
|
+
me.topContainer = new Ext.container.Container({
|
|
226
|
+
layout: 'hbox',
|
|
227
|
+
style: {
|
|
228
|
+
padding: '10px',
|
|
229
|
+
overflow: 'hidden'
|
|
230
|
+
},
|
|
231
|
+
items: [
|
|
232
|
+
me.iconComponent = new Ext.Component({
|
|
233
|
+
cls: me.baseCls + '-icon',
|
|
234
|
+
width: 50,
|
|
235
|
+
height: me.iconHeight
|
|
236
|
+
}),
|
|
237
|
+
me.promptContainer = new Ext.container.Container({
|
|
238
|
+
flex: 1,
|
|
239
|
+
layout: {
|
|
240
|
+
type: 'anchor'
|
|
241
|
+
},
|
|
242
|
+
items: [
|
|
243
|
+
me.msg = new Ext.form.field.Display({
|
|
244
|
+
id: baseId + '-displayfield',
|
|
245
|
+
cls: me.baseCls + '-text'
|
|
246
|
+
}),
|
|
247
|
+
me.textField = new Ext.form.field.Text({
|
|
248
|
+
id: baseId + '-testfield',
|
|
249
|
+
anchor: '100%',
|
|
250
|
+
enableKeyEvents: true,
|
|
251
|
+
listeners: {
|
|
252
|
+
keydown: me.onPromptKey,
|
|
253
|
+
scope: me
|
|
254
|
+
}
|
|
255
|
+
}),
|
|
256
|
+
me.textArea = new Ext.form.field.TextArea({
|
|
257
|
+
id: baseId + '-textarea',
|
|
258
|
+
anchor: '100%',
|
|
259
|
+
height: 75
|
|
260
|
+
})
|
|
261
|
+
]
|
|
262
|
+
})
|
|
263
|
+
]
|
|
264
|
+
});
|
|
265
|
+
me.progressBar = new Ext.ProgressBar({
|
|
266
|
+
id: baseId + '-progressbar',
|
|
267
|
+
margins: '0 10 0 10'
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
me.items = [me.topContainer, me.progressBar];
|
|
271
|
+
|
|
272
|
+
// Create the buttons based upon passed bitwise config
|
|
273
|
+
me.msgButtons = [];
|
|
274
|
+
for (i = 0; i < 4; i++) {
|
|
275
|
+
button = me.makeButton(i);
|
|
276
|
+
me.msgButtons[button.itemId] = button;
|
|
277
|
+
me.msgButtons.push(button);
|
|
278
|
+
}
|
|
279
|
+
me.bottomTb = new Ext.toolbar.Toolbar({
|
|
280
|
+
id: baseId + '-toolbar',
|
|
281
|
+
ui: 'footer',
|
|
282
|
+
dock: 'bottom',
|
|
283
|
+
layout: {
|
|
284
|
+
pack: 'center'
|
|
285
|
+
},
|
|
286
|
+
items: [
|
|
287
|
+
me.msgButtons[0],
|
|
288
|
+
me.msgButtons[1],
|
|
289
|
+
me.msgButtons[2],
|
|
290
|
+
me.msgButtons[3]
|
|
291
|
+
]
|
|
292
|
+
});
|
|
293
|
+
me.dockedItems = [me.bottomTb];
|
|
294
|
+
|
|
295
|
+
// Get control at Toolbar's finishedLayout call and snag the contentWidth to contribute to our auto width calculation
|
|
296
|
+
tbLayout = me.bottomTb.getLayout();
|
|
297
|
+
tbLayout.finishedLayout = Ext.Function.createInterceptor(tbLayout.finishedLayout, function(ownerContext) {
|
|
298
|
+
me.tbWidth = ownerContext.getProp('contentWidth');
|
|
299
|
+
});
|
|
300
|
+
me.on('close', me.onClose, me);
|
|
301
|
+
|
|
302
|
+
me.callParent();
|
|
303
|
+
},
|
|
304
|
+
|
|
305
|
+
onClose: function(){
|
|
306
|
+
var btn = this.header.child('[type=close]');
|
|
307
|
+
// Give a temporary itemId so it can act like the cancel button
|
|
308
|
+
btn.itemId = 'cancel';
|
|
309
|
+
this.btnCallback(btn);
|
|
310
|
+
delete btn.itemId;
|
|
311
|
+
},
|
|
312
|
+
|
|
313
|
+
onPromptKey: function(textField, e) {
|
|
314
|
+
var me = this,
|
|
315
|
+
blur;
|
|
316
|
+
|
|
317
|
+
if (e.keyCode === Ext.EventObject.RETURN || e.keyCode === 10) {
|
|
318
|
+
if (me.msgButtons.ok.isVisible()) {
|
|
319
|
+
blur = true;
|
|
320
|
+
me.msgButtons.ok.handler.call(me, me.msgButtons.ok);
|
|
321
|
+
} else if (me.msgButtons.yes.isVisible()) {
|
|
322
|
+
me.msgButtons.yes.handler.call(me, me.msgButtons.yes);
|
|
323
|
+
blur = true;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
if (blur) {
|
|
327
|
+
me.textField.blur();
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
|
|
332
|
+
reconfigure: function(cfg) {
|
|
333
|
+
var me = this,
|
|
334
|
+
buttons = 0,
|
|
335
|
+
hideToolbar = true,
|
|
336
|
+
initialWidth = me.maxWidth,
|
|
337
|
+
oldButtonText = me.buttonText,
|
|
338
|
+
i;
|
|
339
|
+
|
|
340
|
+
// Restore default buttonText before reconfiguring.
|
|
341
|
+
me.updateButtonText();
|
|
342
|
+
|
|
343
|
+
cfg = cfg || {};
|
|
344
|
+
me.cfg = cfg;
|
|
345
|
+
if (cfg.width) {
|
|
346
|
+
initialWidth = cfg.width;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
// Default to allowing the Window to take focus.
|
|
350
|
+
delete me.defaultFocus;
|
|
351
|
+
|
|
352
|
+
// clear any old animateTarget
|
|
353
|
+
me.animateTarget = cfg.animateTarget || undefined;
|
|
354
|
+
|
|
355
|
+
// Defaults to modal
|
|
356
|
+
me.modal = cfg.modal !== false;
|
|
357
|
+
|
|
358
|
+
// Show the title
|
|
359
|
+
if (cfg.title) {
|
|
360
|
+
me.setTitle(cfg.title||' ');
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
// Extract button configs
|
|
364
|
+
if (Ext.isObject(cfg.buttons)) {
|
|
365
|
+
me.buttonText = cfg.buttons;
|
|
366
|
+
buttons = 0;
|
|
367
|
+
} else {
|
|
368
|
+
me.buttonText = cfg.buttonText || me.buttonText;
|
|
369
|
+
buttons = Ext.isNumber(cfg.buttons) ? cfg.buttons : 0;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
// Apply custom-configured buttonText
|
|
373
|
+
// Infer additional buttons from the specified property names in the buttonText object
|
|
374
|
+
buttons = buttons | me.updateButtonText();
|
|
375
|
+
|
|
376
|
+
// Restore buttonText. Next run of reconfigure will restore to prototype's buttonText
|
|
377
|
+
me.buttonText = oldButtonText;
|
|
378
|
+
|
|
379
|
+
// During the on render, or size resetting layouts, and in subsequent hiding and showing, we need to
|
|
380
|
+
// suspend layouts, and flush at the end when the Window's children are at their final visibility.
|
|
381
|
+
Ext.suspendLayouts();
|
|
382
|
+
me.hidden = false;
|
|
383
|
+
if (!me.rendered) {
|
|
384
|
+
me.width = initialWidth;
|
|
385
|
+
me.render(Ext.getBody());
|
|
386
|
+
} else {
|
|
387
|
+
me.setSize(initialWidth, me.maxHeight);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
// Hide or show the close tool
|
|
391
|
+
me.closable = cfg.closable && !cfg.wait;
|
|
392
|
+
me.header.child('[type=close]').setVisible(cfg.closable !== false);
|
|
393
|
+
|
|
394
|
+
// Hide or show the header
|
|
395
|
+
if (!cfg.title && !me.closable) {
|
|
396
|
+
me.header.hide();
|
|
397
|
+
} else {
|
|
398
|
+
me.header.show();
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
// Default to dynamic drag: drag the window, not a ghost
|
|
402
|
+
me.liveDrag = !cfg.proxyDrag;
|
|
403
|
+
|
|
404
|
+
// wrap the user callback
|
|
405
|
+
me.userCallback = Ext.Function.bind(cfg.callback ||cfg.fn || Ext.emptyFn, cfg.scope || Ext.global);
|
|
406
|
+
|
|
407
|
+
// Hide or show the icon Component
|
|
408
|
+
me.setIcon(cfg.icon);
|
|
409
|
+
|
|
410
|
+
// Hide or show the message area
|
|
411
|
+
if (cfg.msg) {
|
|
412
|
+
me.msg.setValue(cfg.msg);
|
|
413
|
+
me.msg.show();
|
|
414
|
+
} else {
|
|
415
|
+
me.msg.hide();
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
// flush the layout here to pick up
|
|
419
|
+
// height adjustments on the msg field
|
|
420
|
+
Ext.resumeLayouts(true);
|
|
421
|
+
Ext.suspendLayouts();
|
|
422
|
+
|
|
423
|
+
// Hide or show the input field
|
|
424
|
+
if (cfg.prompt || cfg.multiline) {
|
|
425
|
+
me.multiline = cfg.multiline;
|
|
426
|
+
if (cfg.multiline) {
|
|
427
|
+
me.textArea.setValue(cfg.value);
|
|
428
|
+
me.textArea.setHeight(cfg.defaultTextHeight || me.defaultTextHeight);
|
|
429
|
+
me.textArea.show();
|
|
430
|
+
me.textField.hide();
|
|
431
|
+
me.defaultFocus = me.textArea;
|
|
432
|
+
} else {
|
|
433
|
+
me.textField.setValue(cfg.value);
|
|
434
|
+
me.textArea.hide();
|
|
435
|
+
me.textField.show();
|
|
436
|
+
me.defaultFocus = me.textField;
|
|
437
|
+
}
|
|
438
|
+
} else {
|
|
439
|
+
me.textArea.hide();
|
|
440
|
+
me.textField.hide();
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
// Hide or show the progress bar
|
|
444
|
+
if (cfg.progress || cfg.wait) {
|
|
445
|
+
me.progressBar.show();
|
|
446
|
+
me.updateProgress(0, cfg.progressText);
|
|
447
|
+
if(cfg.wait === true){
|
|
448
|
+
me.progressBar.wait(cfg.waitConfig);
|
|
449
|
+
}
|
|
450
|
+
} else {
|
|
451
|
+
me.progressBar.hide();
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
// Hide or show buttons depending on flag value sent.
|
|
455
|
+
for (i = 0; i < 4; i++) {
|
|
456
|
+
if (buttons & Math.pow(2, i)) {
|
|
457
|
+
|
|
458
|
+
// Default to focus on the first visible button if focus not already set
|
|
459
|
+
if (!me.defaultFocus) {
|
|
460
|
+
me.defaultFocus = me.msgButtons[i];
|
|
461
|
+
}
|
|
462
|
+
me.msgButtons[i].show();
|
|
463
|
+
hideToolbar = false;
|
|
464
|
+
} else {
|
|
465
|
+
me.msgButtons[i].hide();
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
// Hide toolbar if no buttons to show
|
|
470
|
+
if (hideToolbar) {
|
|
471
|
+
me.bottomTb.hide();
|
|
472
|
+
} else {
|
|
473
|
+
me.bottomTb.show();
|
|
474
|
+
}
|
|
475
|
+
Ext.resumeLayouts(true);
|
|
476
|
+
},
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* @private
|
|
480
|
+
* Set button text according to current buttonText property object
|
|
481
|
+
* @return {Number} The buttons bitwise flag based upon the button IDs specified in the buttonText property.
|
|
482
|
+
*/
|
|
483
|
+
updateButtonText: function() {
|
|
484
|
+
var me = this,
|
|
485
|
+
buttonText = me.buttonText,
|
|
486
|
+
buttons = 0,
|
|
487
|
+
btnId,
|
|
488
|
+
btn;
|
|
489
|
+
|
|
490
|
+
for (btnId in buttonText) {
|
|
491
|
+
if (buttonText.hasOwnProperty(btnId)) {
|
|
492
|
+
btn = me.msgButtons[btnId];
|
|
493
|
+
if (btn) {
|
|
494
|
+
if (me.cfg && me.cfg.buttonText) {
|
|
495
|
+
buttons = buttons | Math.pow(2, Ext.Array.indexOf(me.buttonIds, btnId));
|
|
496
|
+
}
|
|
497
|
+
if (btn.text != buttonText[btnId]) {
|
|
498
|
+
btn.setText(buttonText[btnId]);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
return buttons;
|
|
504
|
+
},
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* Displays a new message box, or reinitializes an existing message box, based on the config options passed in. All
|
|
508
|
+
* display functions (e.g. prompt, alert, etc.) on MessageBox call this function internally, although those calls
|
|
509
|
+
* are basic shortcuts and do not support all of the config options allowed here.
|
|
510
|
+
*
|
|
511
|
+
* Example usage:
|
|
512
|
+
*
|
|
513
|
+
* Ext.Msg.show({
|
|
514
|
+
* title: 'Address',
|
|
515
|
+
* msg: 'Please enter your address:',
|
|
516
|
+
* width: 300,
|
|
517
|
+
* buttons: Ext.Msg.OKCANCEL,
|
|
518
|
+
* multiline: true,
|
|
519
|
+
* fn: saveAddress,
|
|
520
|
+
* animateTarget: 'addAddressBtn',
|
|
521
|
+
* icon: Ext.window.MessageBox.INFO
|
|
522
|
+
* });
|
|
523
|
+
*
|
|
524
|
+
* @param {Object} config The following config options are supported:
|
|
525
|
+
*
|
|
526
|
+
* @param {String/Ext.dom.Element} config.animateTarget
|
|
527
|
+
* An id or Element from which the message box should animate as it opens and closes.
|
|
528
|
+
*
|
|
529
|
+
* @param {Number} [config.buttons=false]
|
|
530
|
+
* A bitwise button specifier consisting of the sum of any of the following constants:
|
|
531
|
+
*
|
|
532
|
+
* - Ext.window.MessageBox.OK
|
|
533
|
+
* - Ext.window.MessageBox.YES
|
|
534
|
+
* - Ext.window.MessageBox.NO
|
|
535
|
+
* - Ext.window.MessageBox.CANCEL
|
|
536
|
+
*
|
|
537
|
+
* Or false to not show any buttons.
|
|
538
|
+
*
|
|
539
|
+
* This may also be specified as an object hash containing custom button text in the same format as the
|
|
540
|
+
* {@link #buttonText} config. Button IDs present as property names will be made visible.
|
|
541
|
+
*
|
|
542
|
+
* @param {Boolean} config.closable
|
|
543
|
+
* False to hide the top-right close button (defaults to true). Note that progress and wait dialogs will ignore this
|
|
544
|
+
* property and always hide the close button as they can only be closed programmatically.
|
|
545
|
+
*
|
|
546
|
+
* @param {String} config.cls
|
|
547
|
+
* A custom CSS class to apply to the message box's container element
|
|
548
|
+
*
|
|
549
|
+
* @param {Number} [config.defaultTextHeight=75]
|
|
550
|
+
* The default height in pixels of the message box's multiline textarea if displayed.
|
|
551
|
+
*
|
|
552
|
+
* @param {Function} config.fn
|
|
553
|
+
* A callback function which is called when the dialog is dismissed either by clicking on the configured buttons, or
|
|
554
|
+
* on the dialog close button, or by pressing the return button to enter input.
|
|
555
|
+
*
|
|
556
|
+
* Progress and wait dialogs will ignore this option since they do not respond to user actions and can only be
|
|
557
|
+
* closed programmatically, so any required function should be called by the same code after it closes the dialog.
|
|
558
|
+
* Parameters passed:
|
|
559
|
+
*
|
|
560
|
+
* @param {String} config.fn.buttonId The ID of the button pressed, one of:
|
|
561
|
+
*
|
|
562
|
+
* - ok
|
|
563
|
+
* - yes
|
|
564
|
+
* - no
|
|
565
|
+
* - cancel
|
|
566
|
+
*
|
|
567
|
+
* @param {String} config.fn.text Value of the input field if either `prompt` or `multiline` is true
|
|
568
|
+
* @param {Object} config.fn.opt The config object passed to show.
|
|
569
|
+
*
|
|
570
|
+
* @param {Object} config.buttonText
|
|
571
|
+
* An object containing string properties which override the system-supplied button text values just for this
|
|
572
|
+
* invocation. The property names are:
|
|
573
|
+
*
|
|
574
|
+
* - ok
|
|
575
|
+
* - yes
|
|
576
|
+
* - no
|
|
577
|
+
* - cancel
|
|
578
|
+
*
|
|
579
|
+
* @param {Object} config.scope
|
|
580
|
+
* The scope (`this` reference) in which the function will be executed.
|
|
581
|
+
*
|
|
582
|
+
* @param {String} config.icon
|
|
583
|
+
* A CSS class that provides a background image to be used as the body icon for the dialog (e.g.
|
|
584
|
+
* Ext.window.MessageBox.WARNING or 'custom-class') (defaults to '')
|
|
585
|
+
*
|
|
586
|
+
* @param {String} config.iconCls
|
|
587
|
+
* The standard {@link Ext.window.Window#iconCls} to add an optional header icon (defaults to '')
|
|
588
|
+
*
|
|
589
|
+
* @param {Number} config.maxWidth
|
|
590
|
+
* The maximum width in pixels of the message box (defaults to 600)
|
|
591
|
+
*
|
|
592
|
+
* @param {Number} config.minWidth
|
|
593
|
+
* The minimum width in pixels of the message box (defaults to 100)
|
|
594
|
+
*
|
|
595
|
+
* @param {Boolean} config.modal
|
|
596
|
+
* False to allow user interaction with the page while the message box is displayed (defaults to true)
|
|
597
|
+
*
|
|
598
|
+
* @param {String} config.msg
|
|
599
|
+
* A string that will replace the existing message box body text (defaults to the XHTML-compliant non-breaking space
|
|
600
|
+
* character ' ')
|
|
601
|
+
*
|
|
602
|
+
* @param {Boolean} config.multiline
|
|
603
|
+
* True to prompt the user to enter multi-line text (defaults to false)
|
|
604
|
+
*
|
|
605
|
+
* @param {Boolean} config.progress
|
|
606
|
+
* True to display a progress bar (defaults to false)
|
|
607
|
+
*
|
|
608
|
+
* @param {String} config.progressText
|
|
609
|
+
* The text to display inside the progress bar if progress = true (defaults to '')
|
|
610
|
+
*
|
|
611
|
+
* @param {Boolean} config.prompt
|
|
612
|
+
* True to prompt the user to enter single-line text (defaults to false)
|
|
613
|
+
*
|
|
614
|
+
* @param {Boolean} config.proxyDrag
|
|
615
|
+
* True to display a lightweight proxy while dragging (defaults to false)
|
|
616
|
+
*
|
|
617
|
+
* @param {String} config.title
|
|
618
|
+
* The title text
|
|
619
|
+
*
|
|
620
|
+
* @param {String} config.value
|
|
621
|
+
* The string value to set into the active textbox element if displayed
|
|
622
|
+
*
|
|
623
|
+
* @param {Boolean} config.wait
|
|
624
|
+
* True to display a progress bar (defaults to false)
|
|
625
|
+
*
|
|
626
|
+
* @param {Object} config.waitConfig
|
|
627
|
+
* A {@link Ext.ProgressBar#wait} config object (applies only if wait = true)
|
|
628
|
+
*
|
|
629
|
+
* @param {Number} config.width
|
|
630
|
+
* The width of the dialog in pixels
|
|
631
|
+
*
|
|
632
|
+
* @return {Ext.window.MessageBox} this
|
|
633
|
+
*/
|
|
634
|
+
show: function(cfg) {
|
|
635
|
+
var me = this;
|
|
636
|
+
|
|
637
|
+
me.reconfigure(cfg);
|
|
638
|
+
me.addCls(cfg.cls);
|
|
639
|
+
me.doAutoSize();
|
|
640
|
+
|
|
641
|
+
// Set the flag, so that the parent show method performs the show procedure that we need.
|
|
642
|
+
// ie: animation from animTarget, onShow processing and focusing.
|
|
643
|
+
me.hidden = true;
|
|
644
|
+
me.callParent();
|
|
645
|
+
return me;
|
|
646
|
+
},
|
|
647
|
+
|
|
648
|
+
onShow: function() {
|
|
649
|
+
this.callParent(arguments);
|
|
650
|
+
this.center();
|
|
651
|
+
},
|
|
652
|
+
|
|
653
|
+
doAutoSize: function() {
|
|
654
|
+
var me = this,
|
|
655
|
+
headerVisible = me.header.rendered && me.header.isVisible(),
|
|
656
|
+
footerVisible = me.bottomTb.rendered && me.bottomTb.isVisible(),
|
|
657
|
+
width,
|
|
658
|
+
height;
|
|
659
|
+
|
|
660
|
+
if (!Ext.isDefined(me.frameWidth)) {
|
|
661
|
+
me.frameWidth = me.el.getWidth() - me.body.getWidth();
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
// Allow per-invocation override of minWidth
|
|
665
|
+
me.minWidth = me.cfg.minWidth || Ext.getClass(this).prototype.minWidth;
|
|
666
|
+
|
|
667
|
+
// Width must be max of titleWidth, message+icon width, and total button width
|
|
668
|
+
width = Math.max(
|
|
669
|
+
headerVisible ? me.header.getMinWidth() : 0, // title width
|
|
670
|
+
me.cfg.width || me.msg.getWidth() + me.iconComponent.getWidth() + 25, // msg + icon width + topContainer's layout padding */
|
|
671
|
+
(footerVisible ? me.tbWidth : 0)// total button width
|
|
672
|
+
);
|
|
673
|
+
|
|
674
|
+
height = (headerVisible ? me.header.getHeight() : 0) +
|
|
675
|
+
me.topContainer.getHeight() +
|
|
676
|
+
me.progressBar.getHeight() +
|
|
677
|
+
(footerVisible ? me.bottomTb.getHeight() + me.bottomTb.el.getMargin('tb') : 0);
|
|
678
|
+
|
|
679
|
+
me.setSize(width + me.frameWidth, height + me.frameWidth);
|
|
680
|
+
return me;
|
|
681
|
+
},
|
|
682
|
+
|
|
683
|
+
updateText: function(text) {
|
|
684
|
+
this.msg.setValue(text);
|
|
685
|
+
return this.doAutoSize(true);
|
|
686
|
+
},
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
* Adds the specified icon to the dialog. By default, the class 'x-messagebox-icon' is applied for default
|
|
690
|
+
* styling, and the class passed in is expected to supply the background image url. Pass in empty string ('')
|
|
691
|
+
* to clear any existing icon. This method must be called before the MessageBox is shown.
|
|
692
|
+
* The following built-in icon classes are supported, but you can also pass in a custom class name:
|
|
693
|
+
*
|
|
694
|
+
* Ext.window.MessageBox.INFO
|
|
695
|
+
* Ext.window.MessageBox.WARNING
|
|
696
|
+
* Ext.window.MessageBox.QUESTION
|
|
697
|
+
* Ext.window.MessageBox.ERROR
|
|
698
|
+
*
|
|
699
|
+
* @param {String} icon A CSS classname specifying the icon's background image url, or empty string to clear the icon
|
|
700
|
+
* @return {Ext.window.MessageBox} this
|
|
701
|
+
*/
|
|
702
|
+
setIcon : function(icon) {
|
|
703
|
+
var me = this;
|
|
704
|
+
me.iconComponent.removeCls(me.messageIconCls);
|
|
705
|
+
if (icon) {
|
|
706
|
+
me.iconComponent.show();
|
|
707
|
+
me.iconComponent.addCls(Ext.baseCSSPrefix + 'dlg-icon');
|
|
708
|
+
me.iconComponent.addCls(me.messageIconCls = icon);
|
|
709
|
+
} else {
|
|
710
|
+
me.iconComponent.removeCls(Ext.baseCSSPrefix + 'dlg-icon');
|
|
711
|
+
me.iconComponent.hide();
|
|
712
|
+
}
|
|
713
|
+
return me;
|
|
714
|
+
},
|
|
715
|
+
|
|
716
|
+
/**
|
|
717
|
+
* Updates a progress-style message box's text and progress bar. Only relevant on message boxes
|
|
718
|
+
* initiated via {@link Ext.window.MessageBox#progress} or {@link Ext.window.MessageBox#wait},
|
|
719
|
+
* or by calling {@link Ext.window.MessageBox#method-show} with progress: true.
|
|
720
|
+
*
|
|
721
|
+
* @param {Number} [value=0] Any number between 0 and 1 (e.g., .5)
|
|
722
|
+
* @param {String} [progressText=''] The progress text to display inside the progress bar.
|
|
723
|
+
* @param {String} [msg] The message box's body text is replaced with the specified string (defaults to undefined
|
|
724
|
+
* so that any existing body text will not get overwritten by default unless a new value is passed in)
|
|
725
|
+
* @return {Ext.window.MessageBox} this
|
|
726
|
+
*/
|
|
727
|
+
updateProgress : function(value, progressText, msg){
|
|
728
|
+
this.progressBar.updateProgress(value, progressText);
|
|
729
|
+
if (msg){
|
|
730
|
+
this.updateText(msg);
|
|
731
|
+
}
|
|
732
|
+
return this;
|
|
733
|
+
},
|
|
734
|
+
|
|
735
|
+
onEsc: function() {
|
|
736
|
+
if (this.closable !== false) {
|
|
737
|
+
this.callParent(arguments);
|
|
738
|
+
}
|
|
739
|
+
},
|
|
740
|
+
|
|
741
|
+
/**
|
|
742
|
+
* Displays a confirmation message box with Yes and No buttons (comparable to JavaScript's confirm).
|
|
743
|
+
* If a callback function is passed it will be called after the user clicks either button,
|
|
744
|
+
* and the id of the button that was clicked will be passed as the only parameter to the callback
|
|
745
|
+
* (could also be the top-right close button, which will always report as "cancel").
|
|
746
|
+
*
|
|
747
|
+
* @param {String} title The title bar text
|
|
748
|
+
* @param {String} msg The message box body text
|
|
749
|
+
* @param {Function} [fn] The callback function invoked after the message box is closed
|
|
750
|
+
* @param {Object} [scope=window] The scope (`this` reference) in which the callback is executed.
|
|
751
|
+
* @return {Ext.window.MessageBox} this
|
|
752
|
+
*/
|
|
753
|
+
confirm: function(cfg, msg, fn, scope) {
|
|
754
|
+
if (Ext.isString(cfg)) {
|
|
755
|
+
cfg = {
|
|
756
|
+
title: cfg,
|
|
757
|
+
icon: this.QUESTION,
|
|
758
|
+
msg: msg,
|
|
759
|
+
buttons: this.YESNO,
|
|
760
|
+
callback: fn,
|
|
761
|
+
scope: scope
|
|
762
|
+
};
|
|
763
|
+
}
|
|
764
|
+
return this.show(cfg);
|
|
765
|
+
},
|
|
766
|
+
|
|
767
|
+
/**
|
|
768
|
+
* Displays a message box with OK and Cancel buttons prompting the user to enter some text (comparable to JavaScript's prompt).
|
|
769
|
+
* The prompt can be a single-line or multi-line textbox. If a callback function is passed it will be called after the user
|
|
770
|
+
* clicks either button, and the id of the button that was clicked (could also be the top-right
|
|
771
|
+
* close button, which will always report as "cancel") and the text that was entered will be passed as the two parameters to the callback.
|
|
772
|
+
*
|
|
773
|
+
* @param {String} title The title bar text
|
|
774
|
+
* @param {String} msg The message box body text
|
|
775
|
+
* @param {Function} [fn] The callback function invoked after the message box is closed
|
|
776
|
+
* @param {Object} [scope=window] The scope (`this` reference) in which the callback is executed.
|
|
777
|
+
* @param {Boolean/Number} [multiline=false] True to create a multiline textbox using the defaultTextHeight
|
|
778
|
+
* property, or the height in pixels to create the textbox/
|
|
779
|
+
* @param {String} [value=''] Default value of the text input element
|
|
780
|
+
* @return {Ext.window.MessageBox} this
|
|
781
|
+
*/
|
|
782
|
+
prompt : function(cfg, msg, fn, scope, multiline, value){
|
|
783
|
+
if (Ext.isString(cfg)) {
|
|
784
|
+
cfg = {
|
|
785
|
+
prompt: true,
|
|
786
|
+
title: cfg,
|
|
787
|
+
minWidth: this.minPromptWidth,
|
|
788
|
+
msg: msg,
|
|
789
|
+
buttons: this.OKCANCEL,
|
|
790
|
+
callback: fn,
|
|
791
|
+
scope: scope,
|
|
792
|
+
multiline: multiline,
|
|
793
|
+
value: value
|
|
794
|
+
};
|
|
795
|
+
}
|
|
796
|
+
return this.show(cfg);
|
|
797
|
+
},
|
|
798
|
+
|
|
799
|
+
/**
|
|
800
|
+
* Displays a message box with an infinitely auto-updating progress bar. This can be used to block user
|
|
801
|
+
* interaction while waiting for a long-running process to complete that does not have defined intervals.
|
|
802
|
+
* You are responsible for closing the message box when the process is complete.
|
|
803
|
+
*
|
|
804
|
+
* @param {String} msg The message box body text
|
|
805
|
+
* @param {String} [title] The title bar text
|
|
806
|
+
* @param {Object} [config] A {@link Ext.ProgressBar#wait} config object
|
|
807
|
+
* @return {Ext.window.MessageBox} this
|
|
808
|
+
*/
|
|
809
|
+
wait : function(cfg, title, config){
|
|
810
|
+
if (Ext.isString(cfg)) {
|
|
811
|
+
cfg = {
|
|
812
|
+
title : title,
|
|
813
|
+
msg : cfg,
|
|
814
|
+
closable: false,
|
|
815
|
+
wait: true,
|
|
816
|
+
modal: true,
|
|
817
|
+
minWidth: this.minProgressWidth,
|
|
818
|
+
waitConfig: config
|
|
819
|
+
};
|
|
820
|
+
}
|
|
821
|
+
return this.show(cfg);
|
|
822
|
+
},
|
|
823
|
+
|
|
824
|
+
/**
|
|
825
|
+
* Displays a standard read-only message box with an OK button (comparable to the basic JavaScript alert prompt).
|
|
826
|
+
* If a callback function is passed it will be called after the user clicks the button, and the
|
|
827
|
+
* id of the button that was clicked will be passed as the only parameter to the callback
|
|
828
|
+
* (could also be the top-right close button, which will always report as "cancel").
|
|
829
|
+
*
|
|
830
|
+
* @param {String} title The title bar text
|
|
831
|
+
* @param {String} msg The message box body text
|
|
832
|
+
* @param {Function} [fn] The callback function invoked after the message box is closed
|
|
833
|
+
* @param {Object} [scope=window] The scope (<code>this</code> reference) in which the callback is executed.
|
|
834
|
+
* @return {Ext.window.MessageBox} this
|
|
835
|
+
*/
|
|
836
|
+
alert: function(cfg, msg, fn, scope) {
|
|
837
|
+
if (Ext.isString(cfg)) {
|
|
838
|
+
cfg = {
|
|
839
|
+
title : cfg,
|
|
840
|
+
msg : msg,
|
|
841
|
+
buttons: this.OK,
|
|
842
|
+
fn: fn,
|
|
843
|
+
scope : scope,
|
|
844
|
+
minWidth: this.minWidth
|
|
845
|
+
};
|
|
846
|
+
}
|
|
847
|
+
return this.show(cfg);
|
|
848
|
+
},
|
|
849
|
+
|
|
850
|
+
/**
|
|
851
|
+
* Displays a message box with a progress bar. This message box has no buttons and is not closeable by
|
|
852
|
+
* the user. You are responsible for updating the progress bar as needed via {@link Ext.window.MessageBox#updateProgress}
|
|
853
|
+
* and closing the message box when the process is complete.
|
|
854
|
+
*
|
|
855
|
+
* @param {String} title The title bar text
|
|
856
|
+
* @param {String} msg The message box body text
|
|
857
|
+
* @param {String} [progressText=''] The text to display inside the progress bar
|
|
858
|
+
* @return {Ext.window.MessageBox} this
|
|
859
|
+
*/
|
|
860
|
+
progress : function(cfg, msg, progressText){
|
|
861
|
+
if (Ext.isString(cfg)) {
|
|
862
|
+
cfg = {
|
|
863
|
+
title: cfg,
|
|
864
|
+
msg: msg,
|
|
865
|
+
progress: true,
|
|
866
|
+
progressText: progressText
|
|
867
|
+
};
|
|
868
|
+
}
|
|
869
|
+
return this.show(cfg);
|
|
870
|
+
}
|
|
871
|
+
}, function() {
|
|
872
|
+
/**
|
|
873
|
+
* @class Ext.MessageBox
|
|
874
|
+
* @alternateClassName Ext.Msg
|
|
875
|
+
* @extends Ext.window.MessageBox
|
|
876
|
+
* @singleton
|
|
877
|
+
* Singleton instance of {@link Ext.window.MessageBox}.
|
|
878
|
+
*/
|
|
879
|
+
Ext.MessageBox = Ext.Msg = new this();
|
|
880
|
+
});
|