extjs-rails 4.1.0.alpha5 → 4.1.0.alpha6
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/extjs-rails.js +95613 -11000
- data/lib/extjs-rails/version.rb +1 -1
- metadata +2 -509
- data/app/assets/javascripts/src/AbstractComponent.js +0 -3290
- data/app/assets/javascripts/src/AbstractManager.js +0 -144
- data/app/assets/javascripts/src/AbstractPlugin.js +0 -72
- data/app/assets/javascripts/src/Action.js +0 -276
- data/app/assets/javascripts/src/Ajax.js +0 -99
- data/app/assets/javascripts/src/Component.js +0 -1344
- data/app/assets/javascripts/src/ComponentLoader.js +0 -202
- data/app/assets/javascripts/src/ComponentManager.js +0 -47
- data/app/assets/javascripts/src/ComponentQuery.js +0 -521
- data/app/assets/javascripts/src/Editor.js +0 -494
- data/app/assets/javascripts/src/ElementLoader.js +0 -404
- data/app/assets/javascripts/src/FocusManager.js +0 -712
- data/app/assets/javascripts/src/Img.js +0 -111
- data/app/assets/javascripts/src/Layer.js +0 -543
- data/app/assets/javascripts/src/LoadMask.js +0 -432
- data/app/assets/javascripts/src/ModelManager.js +0 -186
- data/app/assets/javascripts/src/PluginManager.js +0 -110
- data/app/assets/javascripts/src/ProgressBar.js +0 -336
- data/app/assets/javascripts/src/Shadow.js +0 -233
- data/app/assets/javascripts/src/ShadowPool.js +0 -43
- data/app/assets/javascripts/src/Template.js +0 -331
- data/app/assets/javascripts/src/XTemplate.js +0 -365
- data/app/assets/javascripts/src/XTemplateCompiler.js +0 -450
- data/app/assets/javascripts/src/XTemplateParser.js +0 -249
- data/app/assets/javascripts/src/ZIndexManager.js +0 -519
- data/app/assets/javascripts/src/app/Application.js +0 -271
- data/app/assets/javascripts/src/app/Controller.js +0 -458
- data/app/assets/javascripts/src/app/EventBus.js +0 -112
- data/app/assets/javascripts/src/button/Button.js +0 -1483
- data/app/assets/javascripts/src/button/Cycle.js +0 -215
- data/app/assets/javascripts/src/button/Split.js +0 -99
- data/app/assets/javascripts/src/chart/Callout.js +0 -140
- data/app/assets/javascripts/src/chart/Chart.js +0 -966
- data/app/assets/javascripts/src/chart/Highlight.js +0 -172
- data/app/assets/javascripts/src/chart/Label.js +0 -241
- data/app/assets/javascripts/src/chart/Legend.js +0 -474
- data/app/assets/javascripts/src/chart/LegendItem.js +0 -217
- data/app/assets/javascripts/src/chart/Mask.js +0 -230
- data/app/assets/javascripts/src/chart/MaskLayer.js +0 -48
- data/app/assets/javascripts/src/chart/Navigation.js +0 -79
- data/app/assets/javascripts/src/chart/Shape.js +0 -106
- data/app/assets/javascripts/src/chart/Tip.js +0 -98
- data/app/assets/javascripts/src/chart/TipSurface.js +0 -42
- data/app/assets/javascripts/src/chart/axis/Abstract.js +0 -73
- data/app/assets/javascripts/src/chart/axis/Axis.js +0 -961
- data/app/assets/javascripts/src/chart/axis/Category.js +0 -130
- data/app/assets/javascripts/src/chart/axis/Gauge.js +0 -203
- data/app/assets/javascripts/src/chart/axis/Numeric.js +0 -235
- data/app/assets/javascripts/src/chart/axis/Radial.js +0 -204
- data/app/assets/javascripts/src/chart/axis/Time.js +0 -135
- data/app/assets/javascripts/src/chart/series/Area.js +0 -803
- data/app/assets/javascripts/src/chart/series/Bar.js +0 -853
- data/app/assets/javascripts/src/chart/series/Cartesian.js +0 -328
- data/app/assets/javascripts/src/chart/series/Column.js +0 -104
- data/app/assets/javascripts/src/chart/series/Gauge.js +0 -490
- data/app/assets/javascripts/src/chart/series/Line.js +0 -1104
- data/app/assets/javascripts/src/chart/series/Pie.js +0 -1072
- data/app/assets/javascripts/src/chart/series/Radar.js +0 -440
- data/app/assets/javascripts/src/chart/series/Scatter.js +0 -668
- data/app/assets/javascripts/src/chart/series/Series.js +0 -443
- data/app/assets/javascripts/src/chart/theme/Base.js +0 -175
- data/app/assets/javascripts/src/chart/theme/Theme.js +0 -253
- data/app/assets/javascripts/src/container/AbstractContainer.js +0 -1062
- data/app/assets/javascripts/src/container/ButtonGroup.js +0 -143
- data/app/assets/javascripts/src/container/Container.js +0 -212
- data/app/assets/javascripts/src/container/DockingContainer.js +0 -265
- data/app/assets/javascripts/src/container/Viewport.js +0 -184
- data/app/assets/javascripts/src/core/dom/Element.form.js +0 -50
- data/app/assets/javascripts/src/core/dom/Element.static-more.js +0 -159
- data/app/assets/javascripts/src/core/examples/index.html +0 -321
- data/app/assets/javascripts/src/core/examples/index.js +0 -6
- data/app/assets/javascripts/src/core/examples/src/Sample/CTO.js +0 -25
- data/app/assets/javascripts/src/core/examples/src/Sample/CoolGuy.js +0 -20
- data/app/assets/javascripts/src/core/examples/src/Sample/Developer.js +0 -43
- data/app/assets/javascripts/src/core/examples/src/Sample/Gun.js +0 -3
- data/app/assets/javascripts/src/core/examples/src/Sample/HumanResource.js +0 -23
- data/app/assets/javascripts/src/core/examples/src/Sample/Musician.js +0 -20
- data/app/assets/javascripts/src/core/examples/src/Sample/Person.js +0 -50
- data/app/assets/javascripts/src/core/examples/src/Sample/ability/CanComposeSongs.js +0 -9
- data/app/assets/javascripts/src/core/examples/src/Sample/ability/CanPlayGuitar.js +0 -9
- data/app/assets/javascripts/src/core/examples/src/Sample/ability/CanSing.js +0 -18
- data/app/assets/javascripts/src/core/examples/src/Sample/deadlock/A.js +0 -3
- data/app/assets/javascripts/src/core/examples/src/Sample/deadlock/B.js +0 -3
- data/app/assets/javascripts/src/core/examples/src/Sample/deadlock/C.js +0 -3
- data/app/assets/javascripts/src/core/examples/src/Sample/deadlock/D.js +0 -3
- data/app/assets/javascripts/src/core/examples/src/Sample/deadlock/E.js +0 -3
- data/app/assets/javascripts/src/core/examples/src/Sample/notdeadlock/A.js +0 -3
- data/app/assets/javascripts/src/core/examples/src/Sample/notdeadlock/B.js +0 -4
- data/app/assets/javascripts/src/core/examples/src/Sample/notdeadlock/C.js +0 -3
- data/app/assets/javascripts/src/core/src/EventManager.js +0 -1167
- data/app/assets/javascripts/src/core/src/EventObject.js +0 -883
- data/app/assets/javascripts/src/core/src/Ext-more.js +0 -1283
- data/app/assets/javascripts/src/core/src/Ext.js +0 -736
- data/app/assets/javascripts/src/core/src/Support.js +0 -662
- data/app/assets/javascripts/src/core/src/class/Base.js +0 -1085
- data/app/assets/javascripts/src/core/src/class/Class.js +0 -676
- data/app/assets/javascripts/src/core/src/class/ClassManager.js +0 -1591
- data/app/assets/javascripts/src/core/src/class/Loader.js +0 -1423
- data/app/assets/javascripts/src/core/src/dom/AbstractElement.alignment.js +0 -173
- data/app/assets/javascripts/src/core/src/dom/AbstractElement.insertion.js +0 -193
- data/app/assets/javascripts/src/core/src/dom/AbstractElement.js +0 -681
- data/app/assets/javascripts/src/core/src/dom/AbstractElement.position.js +0 -356
- data/app/assets/javascripts/src/core/src/dom/AbstractElement.static.js +0 -474
- data/app/assets/javascripts/src/core/src/dom/AbstractElement.style.js +0 -851
- data/app/assets/javascripts/src/core/src/dom/AbstractElement.traversal.js +0 -180
- data/app/assets/javascripts/src/core/src/dom/AbstractHelper.js +0 -291
- data/app/assets/javascripts/src/core/src/dom/AbstractQuery.js +0 -72
- data/app/assets/javascripts/src/core/src/dom/CompositeElement.js +0 -75
- data/app/assets/javascripts/src/core/src/dom/CompositeElementLite.js +0 -436
- data/app/assets/javascripts/src/core/src/dom/DomQuery-aria.js +0 -1049
- data/app/assets/javascripts/src/core/src/env/Browser.js +0 -186
- data/app/assets/javascripts/src/core/src/env/FeatureDetector.js +0 -274
- data/app/assets/javascripts/src/core/src/env/OS.js +0 -141
- data/app/assets/javascripts/src/core/src/lang/Array.js +0 -1205
- data/app/assets/javascripts/src/core/src/lang/Date.js +0 -1463
- data/app/assets/javascripts/src/core/src/lang/Error.js +0 -326
- data/app/assets/javascripts/src/core/src/lang/Function.js +0 -485
- data/app/assets/javascripts/src/core/src/lang/Number.js +0 -175
- data/app/assets/javascripts/src/core/src/lang/Object.js +0 -606
- data/app/assets/javascripts/src/core/src/lang/String.js +0 -333
- data/app/assets/javascripts/src/core/src/misc/JSON.js +0 -236
- data/app/assets/javascripts/src/core/src/perf/Accumulator.js +0 -244
- data/app/assets/javascripts/src/core/src/perf/Monitor.js +0 -197
- data/app/assets/javascripts/src/core/src/util/DelayedTask.js +0 -71
- data/app/assets/javascripts/src/core/src/util/Event.js +0 -215
- data/app/assets/javascripts/src/core/src/util/Format.js +0 -551
- data/app/assets/javascripts/src/core/src/util/TaskManager.js +0 -417
- data/app/assets/javascripts/src/core/src/version/Version.js +0 -364
- data/app/assets/javascripts/src/core/test/unit/README.MD +0 -91
- data/app/assets/javascripts/src/core/test/unit/bootstrap.js +0 -39
- data/app/assets/javascripts/src/core/test/unit/build/build-data.js +0 -34
- data/app/assets/javascripts/src/core/test/unit/build/build.sh +0 -2
- data/app/assets/javascripts/src/core/test/unit/data.js +0 -27
- data/app/assets/javascripts/src/core/test/unit/index.html +0 -15
- data/app/assets/javascripts/src/core/test/unit/other_specs/dom.html +0 -40
- data/app/assets/javascripts/src/core/test/unit/other_specs/dom/extjs-api.js +0 -12
- data/app/assets/javascripts/src/core/test/unit/other_specs/dom/platform-api.js +0 -134
- data/app/assets/javascripts/src/core/test/unit/other_specs/dom/sanity.js +0 -4
- data/app/assets/javascripts/src/core/test/unit/other_specs/dom/touch-api-out.js +0 -128
- data/app/assets/javascripts/src/core/test/unit/other_specs/dom/touch-api.js +0 -89
- data/app/assets/javascripts/src/core/test/unit/other_specs/env/Environment.js +0 -357
- data/app/assets/javascripts/src/core/test/unit/resources/APITest.js +0 -37
- data/app/assets/javascripts/src/core/test/unit/resources/jsb3.js +0 -14
- data/app/assets/javascripts/src/core/test/unit/resources/test-setup.js +0 -137
- data/app/assets/javascripts/src/core/test/unit/spec/EventManager.js +0 -629
- data/app/assets/javascripts/src/core/test/unit/spec/Ext-mess.backup +0 -198
- data/app/assets/javascripts/src/core/test/unit/spec/Ext-more.js +0 -520
- data/app/assets/javascripts/src/core/test/unit/spec/Ext.js +0 -1550
- data/app/assets/javascripts/src/core/test/unit/spec/Support.js +0 -250
- data/app/assets/javascripts/src/core/test/unit/spec/class/Base.js +0 -47
- data/app/assets/javascripts/src/core/test/unit/spec/class/Class.js +0 -561
- data/app/assets/javascripts/src/core/test/unit/spec/class/ClassManager.js +0 -555
- data/app/assets/javascripts/src/core/test/unit/spec/dom/CompositeElementLite.js +0 -409
- data/app/assets/javascripts/src/core/test/unit/spec/dom/DomHelper.js +0 -444
- data/app/assets/javascripts/src/core/test/unit/spec/dom/Element.insertion.js +0 -342
- data/app/assets/javascripts/src/core/test/unit/spec/dom/Element.js +0 -731
- data/app/assets/javascripts/src/core/test/unit/spec/dom/Element.static.js +0 -201
- data/app/assets/javascripts/src/core/test/unit/spec/dom/Element.style.js +0 -118
- data/app/assets/javascripts/src/core/test/unit/spec/dom/Element.traversal.js +0 -336
- data/app/assets/javascripts/src/core/test/unit/spec/lang/Array.js +0 -1229
- data/app/assets/javascripts/src/core/test/unit/spec/lang/Date.js +0 -697
- data/app/assets/javascripts/src/core/test/unit/spec/lang/Error.js +0 -277
- data/app/assets/javascripts/src/core/test/unit/spec/lang/Function.js +0 -536
- data/app/assets/javascripts/src/core/test/unit/spec/lang/Number.js +0 -323
- data/app/assets/javascripts/src/core/test/unit/spec/lang/Object.js +0 -591
- data/app/assets/javascripts/src/core/test/unit/spec/lang/String.js +0 -451
- data/app/assets/javascripts/src/core/test/unit/spec/misc/JSON.js +0 -252
- data/app/assets/javascripts/src/core/test/unit/spec/util/Format.js +0 -521
- data/app/assets/javascripts/src/core/test/unit/spec/version/Version.js +0 -148
- data/app/assets/javascripts/src/core/test/unit/specs.html +0 -19
- data/app/assets/javascripts/src/data/AbstractStore.js +0 -887
- data/app/assets/javascripts/src/data/ArrayStore.js +0 -74
- data/app/assets/javascripts/src/data/Batch.js +0 -236
- data/app/assets/javascripts/src/data/BufferStore.js +0 -13
- data/app/assets/javascripts/src/data/Connection.js +0 -969
- data/app/assets/javascripts/src/data/DirectStore.js +0 -50
- data/app/assets/javascripts/src/data/Errors.js +0 -52
- data/app/assets/javascripts/src/data/Field.js +0 -341
- data/app/assets/javascripts/src/data/IdGenerator.js +0 -198
- data/app/assets/javascripts/src/data/JsonP.js +0 -253
- data/app/assets/javascripts/src/data/JsonPStore.js +0 -51
- data/app/assets/javascripts/src/data/JsonStore.js +0 -60
- data/app/assets/javascripts/src/data/Model.js +0 -1673
- data/app/assets/javascripts/src/data/NodeInterface.js +0 -1294
- data/app/assets/javascripts/src/data/NodeStore.js +0 -254
- data/app/assets/javascripts/src/data/Operation.js +0 -331
- data/app/assets/javascripts/src/data/Request.js +0 -40
- data/app/assets/javascripts/src/data/ResultSet.js +0 -56
- data/app/assets/javascripts/src/data/SequentialIdGenerator.js +0 -61
- data/app/assets/javascripts/src/data/SortTypes.js +0 -125
- data/app/assets/javascripts/src/data/Store.js +0 -2609
- data/app/assets/javascripts/src/data/StoreManager.js +0 -156
- data/app/assets/javascripts/src/data/Tree.js +0 -290
- data/app/assets/javascripts/src/data/TreeStore.js +0 -655
- data/app/assets/javascripts/src/data/Types.js +0 -190
- data/app/assets/javascripts/src/data/UuidGenerator.js +0 -215
- data/app/assets/javascripts/src/data/XmlStore.js +0 -76
- data/app/assets/javascripts/src/data/association/Association.js +0 -243
- data/app/assets/javascripts/src/data/association/BelongsTo.js +0 -291
- data/app/assets/javascripts/src/data/association/HasMany.js +0 -289
- data/app/assets/javascripts/src/data/association/HasOne.js +0 -304
- data/app/assets/javascripts/src/data/proxy/Ajax.js +0 -282
- data/app/assets/javascripts/src/data/proxy/Client.js +0 -21
- data/app/assets/javascripts/src/data/proxy/Direct.js +0 -181
- data/app/assets/javascripts/src/data/proxy/JsonP.js +0 -313
- data/app/assets/javascripts/src/data/proxy/LocalStorage.js +0 -69
- data/app/assets/javascripts/src/data/proxy/Memory.js +0 -156
- data/app/assets/javascripts/src/data/proxy/Proxy.js +0 -433
- data/app/assets/javascripts/src/data/proxy/Rest.js +0 -173
- data/app/assets/javascripts/src/data/proxy/Server.js +0 -460
- data/app/assets/javascripts/src/data/proxy/SessionStorage.js +0 -39
- data/app/assets/javascripts/src/data/proxy/WebStorage.js +0 -546
- data/app/assets/javascripts/src/data/reader/Array.js +0 -68
- data/app/assets/javascripts/src/data/reader/Json.js +0 -383
- data/app/assets/javascripts/src/data/reader/Reader.js +0 -735
- data/app/assets/javascripts/src/data/reader/Xml.js +0 -292
- data/app/assets/javascripts/src/data/validations.js +0 -149
- data/app/assets/javascripts/src/data/writer/Json.js +0 -81
- data/app/assets/javascripts/src/data/writer/Writer.js +0 -147
- data/app/assets/javascripts/src/data/writer/Xml.js +0 -88
- data/app/assets/javascripts/src/dd/DD.js +0 -300
- data/app/assets/javascripts/src/dd/DDProxy.js +0 -204
- data/app/assets/javascripts/src/dd/DDTarget.js +0 -171
- data/app/assets/javascripts/src/dd/DragDrop.js +0 -1101
- data/app/assets/javascripts/src/dd/DragDropManager.js +0 -1264
- data/app/assets/javascripts/src/dd/DragSource.js +0 -392
- data/app/assets/javascripts/src/dd/DragTracker.js +0 -562
- data/app/assets/javascripts/src/dd/DragZone.js +0 -137
- data/app/assets/javascripts/src/dd/DropTarget.js +0 -118
- data/app/assets/javascripts/src/dd/DropZone.js +0 -254
- data/app/assets/javascripts/src/dd/Registry.js +0 -117
- data/app/assets/javascripts/src/dd/ScrollManager.js +0 -218
- data/app/assets/javascripts/src/dd/StatusProxy.js +0 -179
- data/app/assets/javascripts/src/diag/layout/Context.js +0 -523
- data/app/assets/javascripts/src/diag/layout/ContextItem.js +0 -179
- data/app/assets/javascripts/src/direct/Event.js +0 -35
- data/app/assets/javascripts/src/direct/ExceptionEvent.js +0 -16
- data/app/assets/javascripts/src/direct/JsonProvider.js +0 -82
- data/app/assets/javascripts/src/direct/Manager.js +0 -263
- data/app/assets/javascripts/src/direct/PollingProvider.js +0 -156
- data/app/assets/javascripts/src/direct/Provider.js +0 -96
- data/app/assets/javascripts/src/direct/RemotingEvent.js +0 -24
- data/app/assets/javascripts/src/direct/RemotingMethod.js +0 -100
- data/app/assets/javascripts/src/direct/RemotingProvider.js +0 -510
- data/app/assets/javascripts/src/direct/Transaction.js +0 -41
- data/app/assets/javascripts/src/dom/Element.alignment.js +0 -378
- data/app/assets/javascripts/src/dom/Element.anim.js +0 -962
- data/app/assets/javascripts/src/dom/Element.dd.js +0 -40
- data/app/assets/javascripts/src/dom/Element.fx.js +0 -194
- data/app/assets/javascripts/src/dom/Element.js +0 -1407
- data/app/assets/javascripts/src/dom/Element.position.js +0 -501
- data/app/assets/javascripts/src/dom/Element.scroll.js +0 -214
- data/app/assets/javascripts/src/dom/Element.style.js +0 -792
- data/app/assets/javascripts/src/dom/Element.traversal.js +0 -8
- data/app/assets/javascripts/src/dom/Helper.js +0 -466
- data/app/assets/javascripts/src/dom/Query.js +0 -1067
- data/app/assets/javascripts/src/draw/Color.js +0 -303
- data/app/assets/javascripts/src/draw/Component.js +0 -245
- data/app/assets/javascripts/src/draw/CompositeSprite.js +0 -299
- data/app/assets/javascripts/src/draw/Draw.js +0 -1217
- data/app/assets/javascripts/src/draw/Matrix.js +0 -183
- data/app/assets/javascripts/src/draw/Sprite.js +0 -554
- data/app/assets/javascripts/src/draw/SpriteDD.js +0 -87
- data/app/assets/javascripts/src/draw/Surface.js +0 -1001
- data/app/assets/javascripts/src/draw/Text.js +0 -175
- data/app/assets/javascripts/src/draw/engine/ImageExporter.js +0 -106
- data/app/assets/javascripts/src/draw/engine/Svg.js +0 -734
- data/app/assets/javascripts/src/draw/engine/SvgExporter.js +0 -280
- data/app/assets/javascripts/src/draw/engine/Vml.js +0 -916
- data/app/assets/javascripts/src/flash/Component.js +0 -248
- data/app/assets/javascripts/src/form/Basic.js +0 -1018
- data/app/assets/javascripts/src/form/CheckboxGroup.js +0 -441
- data/app/assets/javascripts/src/form/CheckboxManager.js +0 -26
- data/app/assets/javascripts/src/form/FieldAncestor.js +0 -210
- data/app/assets/javascripts/src/form/FieldContainer.js +0 -290
- data/app/assets/javascripts/src/form/FieldSet.js +0 -506
- data/app/assets/javascripts/src/form/Label.js +0 -110
- data/app/assets/javascripts/src/form/Labelable.js +0 -764
- data/app/assets/javascripts/src/form/Panel.js +0 -335
- data/app/assets/javascripts/src/form/RadioGroup.js +0 -124
- data/app/assets/javascripts/src/form/RadioManager.js +0 -26
- data/app/assets/javascripts/src/form/action/Action.js +0 -307
- data/app/assets/javascripts/src/form/action/DirectLoad.js +0 -107
- data/app/assets/javascripts/src/form/action/DirectSubmit.js +0 -119
- data/app/assets/javascripts/src/form/action/Load.js +0 -120
- data/app/assets/javascripts/src/form/action/StandardSubmit.js +0 -34
- data/app/assets/javascripts/src/form/action/Submit.js +0 -257
- data/app/assets/javascripts/src/form/field/Base.js +0 -813
- data/app/assets/javascripts/src/form/field/Checkbox.js +0 -505
- data/app/assets/javascripts/src/form/field/ComboBox.js +0 -1427
- data/app/assets/javascripts/src/form/field/Date.js +0 -578
- data/app/assets/javascripts/src/form/field/Display.js +0 -155
- data/app/assets/javascripts/src/form/field/Field.js +0 -430
- data/app/assets/javascripts/src/form/field/File.js +0 -265
- data/app/assets/javascripts/src/form/field/Hidden.js +0 -75
- data/app/assets/javascripts/src/form/field/HtmlEditor.js +0 -1439
- data/app/assets/javascripts/src/form/field/Number.js +0 -380
- data/app/assets/javascripts/src/form/field/Picker.js +0 -321
- data/app/assets/javascripts/src/form/field/Radio.js +0 -279
- data/app/assets/javascripts/src/form/field/Spinner.js +0 -321
- data/app/assets/javascripts/src/form/field/Text.js +0 -727
- data/app/assets/javascripts/src/form/field/TextArea.js +0 -228
- data/app/assets/javascripts/src/form/field/Time.js +0 -459
- data/app/assets/javascripts/src/form/field/Trigger.js +0 -469
- data/app/assets/javascripts/src/form/field/VTypes.js +0 -172
- data/app/assets/javascripts/src/fx/Anim.js +0 -472
- data/app/assets/javascripts/src/fx/Animator.js +0 -410
- data/app/assets/javascripts/src/fx/CubicBezier.js +0 -77
- data/app/assets/javascripts/src/fx/Easing.js +0 -136
- data/app/assets/javascripts/src/fx/Manager.js +0 -353
- data/app/assets/javascripts/src/fx/PropertyHandler.js +0 -381
- data/app/assets/javascripts/src/fx/Queue.js +0 -123
- data/app/assets/javascripts/src/fx/target/Component.js +0 -118
- data/app/assets/javascripts/src/fx/target/CompositeElement.js +0 -46
- data/app/assets/javascripts/src/fx/target/CompositeElementCSS.js +0 -22
- data/app/assets/javascripts/src/fx/target/CompositeSprite.js +0 -34
- data/app/assets/javascripts/src/fx/target/Element.js +0 -83
- data/app/assets/javascripts/src/fx/target/ElementCSS.js +0 -77
- data/app/assets/javascripts/src/fx/target/Sprite.js +0 -128
- data/app/assets/javascripts/src/fx/target/Target.js +0 -36
- data/app/assets/javascripts/src/grid/CellEditor.js +0 -172
- data/app/assets/javascripts/src/grid/ColumnComponentLayout.js +0 -34
- data/app/assets/javascripts/src/grid/ColumnLayout.js +0 -201
- data/app/assets/javascripts/src/grid/Lockable.js +0 -863
- data/app/assets/javascripts/src/grid/LockingView.js +0 -169
- data/app/assets/javascripts/src/grid/PagingScroller.js +0 -539
- data/app/assets/javascripts/src/grid/Panel.js +0 -393
- data/app/assets/javascripts/src/grid/RowEditor.js +0 -731
- data/app/assets/javascripts/src/grid/RowNumberer.js +0 -76
- data/app/assets/javascripts/src/grid/Scroller.js +0 -5
- data/app/assets/javascripts/src/grid/View.js +0 -44
- data/app/assets/javascripts/src/grid/ViewDropZone.js +0 -41
- data/app/assets/javascripts/src/grid/column/Action.js +0 -318
- data/app/assets/javascripts/src/grid/column/Boolean.js +0 -82
- data/app/assets/javascripts/src/grid/column/Column.js +0 -835
- data/app/assets/javascripts/src/grid/column/Date.js +0 -63
- data/app/assets/javascripts/src/grid/column/Number.js +0 -52
- data/app/assets/javascripts/src/grid/column/Template.js +0 -58
- data/app/assets/javascripts/src/grid/feature/AbstractSummary.js +0 -154
- data/app/assets/javascripts/src/grid/feature/Chunking.js +0 -77
- data/app/assets/javascripts/src/grid/feature/Feature.js +0 -158
- data/app/assets/javascripts/src/grid/feature/Grouping.js +0 -822
- data/app/assets/javascripts/src/grid/feature/GroupingSummary.js +0 -243
- data/app/assets/javascripts/src/grid/feature/RowBody.js +0 -116
- data/app/assets/javascripts/src/grid/feature/RowWrap.js +0 -120
- data/app/assets/javascripts/src/grid/feature/Summary.js +0 -167
- data/app/assets/javascripts/src/grid/header/Container.js +0 -965
- data/app/assets/javascripts/src/grid/header/DragZone.js +0 -69
- data/app/assets/javascripts/src/grid/header/DropZone.js +0 -265
- data/app/assets/javascripts/src/grid/plugin/CellEditing.js +0 -453
- data/app/assets/javascripts/src/grid/plugin/DragDrop.js +0 -254
- data/app/assets/javascripts/src/grid/plugin/Editing.js +0 -561
- data/app/assets/javascripts/src/grid/plugin/HeaderReorderer.js +0 -49
- data/app/assets/javascripts/src/grid/plugin/HeaderResizer.js +0 -292
- data/app/assets/javascripts/src/grid/plugin/RowEditing.js +0 -339
- data/app/assets/javascripts/src/grid/property/Grid.js +0 -351
- data/app/assets/javascripts/src/grid/property/HeaderContainer.js +0 -109
- data/app/assets/javascripts/src/grid/property/Property.js +0 -36
- data/app/assets/javascripts/src/grid/property/Store.js +0 -141
- data/app/assets/javascripts/src/layout/ClassList.js +0 -90
- data/app/assets/javascripts/src/layout/Context.js +0 -1232
- data/app/assets/javascripts/src/layout/ContextItem.js +0 -1470
- data/app/assets/javascripts/src/layout/Layout.js +0 -761
- data/app/assets/javascripts/src/layout/component/Auto.js +0 -220
- data/app/assets/javascripts/src/layout/component/Body.js +0 -80
- data/app/assets/javascripts/src/layout/component/BoundList.js +0 -95
- data/app/assets/javascripts/src/layout/component/Button.js +0 -261
- data/app/assets/javascripts/src/layout/component/Component.js +0 -427
- data/app/assets/javascripts/src/layout/component/Dock.js +0 -1132
- data/app/assets/javascripts/src/layout/component/Draw.js +0 -79
- data/app/assets/javascripts/src/layout/component/FieldSet.js +0 -62
- data/app/assets/javascripts/src/layout/component/ProgressBar.js +0 -54
- data/app/assets/javascripts/src/layout/component/Tab.js +0 -23
- data/app/assets/javascripts/src/layout/component/field/ComboBox.js +0 -52
- data/app/assets/javascripts/src/layout/component/field/Field.js +0 -372
- data/app/assets/javascripts/src/layout/component/field/FieldContainer.js +0 -48
- data/app/assets/javascripts/src/layout/component/field/HtmlEditor.js +0 -54
- data/app/assets/javascripts/src/layout/component/field/Slider.js +0 -58
- data/app/assets/javascripts/src/layout/component/field/Text.js +0 -75
- data/app/assets/javascripts/src/layout/component/field/TextArea.js +0 -51
- data/app/assets/javascripts/src/layout/component/field/Trigger.js +0 -132
- data/app/assets/javascripts/src/layout/container/Absolute.js +0 -121
- data/app/assets/javascripts/src/layout/container/Accordion.js +0 -308
- data/app/assets/javascripts/src/layout/container/Anchor.js +0 -403
- data/app/assets/javascripts/src/layout/container/Auto.js +0 -70
- data/app/assets/javascripts/src/layout/container/Border-old-js +0 -1079
- data/app/assets/javascripts/src/layout/container/Border.js +0 -816
- data/app/assets/javascripts/src/layout/container/Box.js +0 -929
- data/app/assets/javascripts/src/layout/container/Card.js +0 -361
- data/app/assets/javascripts/src/layout/container/CheckboxGroup.js +0 -376
- data/app/assets/javascripts/src/layout/container/Column.js +0 -234
- data/app/assets/javascripts/src/layout/container/Container.js +0 -961
- data/app/assets/javascripts/src/layout/container/Editor.js +0 -74
- data/app/assets/javascripts/src/layout/container/Fit.js +0 -287
- data/app/assets/javascripts/src/layout/container/Form.js +0 -157
- data/app/assets/javascripts/src/layout/container/HBox.js +0 -134
- data/app/assets/javascripts/src/layout/container/Table.js +0 -412
- data/app/assets/javascripts/src/layout/container/VBox.js +0 -139
- data/app/assets/javascripts/src/layout/container/boxOverflow/Menu.js +0 -365
- data/app/assets/javascripts/src/layout/container/boxOverflow/None.js +0 -83
- data/app/assets/javascripts/src/layout/container/boxOverflow/Scroller.js +0 -475
- data/app/assets/javascripts/src/menu/CheckItem.js +0 -169
- data/app/assets/javascripts/src/menu/ColorPicker.js +0 -110
- data/app/assets/javascripts/src/menu/DatePicker.js +0 -100
- data/app/assets/javascripts/src/menu/Item.js +0 -553
- data/app/assets/javascripts/src/menu/KeyNav.js +0 -134
- data/app/assets/javascripts/src/menu/Manager.js +0 -219
- data/app/assets/javascripts/src/menu/Menu.js +0 -579
- data/app/assets/javascripts/src/menu/Separator.js +0 -126
- data/app/assets/javascripts/src/panel/AbstractPanel.js +0 -323
- data/app/assets/javascripts/src/panel/DD.js +0 -99
- data/app/assets/javascripts/src/panel/Header.js +0 -518
- data/app/assets/javascripts/src/panel/Panel.js +0 -2150
- data/app/assets/javascripts/src/panel/Proxy.js +0 -131
- data/app/assets/javascripts/src/panel/Table.js +0 -1018
- data/app/assets/javascripts/src/panel/Tool.js +0 -304
- data/app/assets/javascripts/src/picker/Color.js +0 -219
- data/app/assets/javascripts/src/picker/Date.js +0 -1140
- data/app/assets/javascripts/src/picker/Month.js +0 -490
- data/app/assets/javascripts/src/picker/Time.js +0 -165
- data/app/assets/javascripts/src/resizer/BorderSplitter.js +0 -22
- data/app/assets/javascripts/src/resizer/BorderSplitterTracker.js +0 -210
- data/app/assets/javascripts/src/resizer/Handle.js +0 -29
- data/app/assets/javascripts/src/resizer/ResizeTracker.js +0 -346
- data/app/assets/javascripts/src/resizer/Resizer.js +0 -477
- data/app/assets/javascripts/src/resizer/Splitter.js +0 -242
- data/app/assets/javascripts/src/resizer/SplitterTracker.js +0 -230
- data/app/assets/javascripts/src/selection/CellModel.js +0 -395
- data/app/assets/javascripts/src/selection/CheckboxModel.js +0 -234
- data/app/assets/javascripts/src/selection/DataViewModel.js +0 -160
- data/app/assets/javascripts/src/selection/Model.js +0 -646
- data/app/assets/javascripts/src/selection/RowModel.js +0 -499
- data/app/assets/javascripts/src/selection/TreeModel.js +0 -78
- data/app/assets/javascripts/src/slider/Multi.js +0 -835
- data/app/assets/javascripts/src/slider/Single.js +0 -56
- data/app/assets/javascripts/src/slider/Thumb.js +0 -259
- data/app/assets/javascripts/src/slider/Tip.js +0 -130
- data/app/assets/javascripts/src/state/CookieProvider.js +0 -120
- data/app/assets/javascripts/src/state/LocalStorageProvider.js +0 -72
- data/app/assets/javascripts/src/state/Manager.js +0 -70
- data/app/assets/javascripts/src/state/Provider.js +0 -182
- data/app/assets/javascripts/src/state/Stateful.js +0 -364
- data/app/assets/javascripts/src/tab/Bar.js +0 -258
- data/app/assets/javascripts/src/tab/Panel.js +0 -654
- data/app/assets/javascripts/src/tab/Tab.js +0 -358
- data/app/assets/javascripts/src/tail.js +0 -10
- data/app/assets/javascripts/src/tip/QuickTip.js +0 -335
- data/app/assets/javascripts/src/tip/QuickTipManager.js +0 -239
- data/app/assets/javascripts/src/tip/Tip.js +0 -160
- data/app/assets/javascripts/src/tip/ToolTip.js +0 -691
- data/app/assets/javascripts/src/toolbar/Fill.js +0 -28
- data/app/assets/javascripts/src/toolbar/Item.js +0 -16
- data/app/assets/javascripts/src/toolbar/Paging.js +0 -600
- data/app/assets/javascripts/src/toolbar/Separator.js +0 -23
- data/app/assets/javascripts/src/toolbar/Spacer.js +0 -33
- data/app/assets/javascripts/src/toolbar/TextItem.js +0 -57
- data/app/assets/javascripts/src/toolbar/Toolbar-legacy.js +0 -123
- data/app/assets/javascripts/src/toolbar/Toolbar.js +0 -447
- data/app/assets/javascripts/src/tree/Column.js +0 -90
- data/app/assets/javascripts/src/tree/Panel.js +0 -505
- data/app/assets/javascripts/src/tree/View.js +0 -658
- data/app/assets/javascripts/src/tree/ViewDragZone.js +0 -49
- data/app/assets/javascripts/src/tree/ViewDropZone.js +0 -287
- data/app/assets/javascripts/src/tree/plugin/TreeViewDragDrop.js +0 -244
- data/app/assets/javascripts/src/util/AbstractMixedCollection.js +0 -772
- data/app/assets/javascripts/src/util/Animate.js +0 -426
- data/app/assets/javascripts/src/util/Bindable.js +0 -102
- data/app/assets/javascripts/src/util/CSS.js +0 -185
- data/app/assets/javascripts/src/util/ClickRepeater.js +0 -238
- data/app/assets/javascripts/src/util/ComponentDragger.js +0 -126
- data/app/assets/javascripts/src/util/Cookies.js +0 -91
- data/app/assets/javascripts/src/util/ElementContainer.js +0 -293
- data/app/assets/javascripts/src/util/Filter.js +0 -159
- data/app/assets/javascripts/src/util/Floating.js +0 -321
- data/app/assets/javascripts/src/util/Grouper.js +0 -26
- data/app/assets/javascripts/src/util/HashMap.js +0 -356
- data/app/assets/javascripts/src/util/History.js +0 -285
- data/app/assets/javascripts/src/util/Inflector.js +0 -297
- data/app/assets/javascripts/src/util/KeyMap.js +0 -427
- data/app/assets/javascripts/src/util/KeyNav.js +0 -239
- data/app/assets/javascripts/src/util/LruCache.js +0 -257
- data/app/assets/javascripts/src/util/Memento.js +0 -131
- data/app/assets/javascripts/src/util/MixedCollection.js +0 -239
- data/app/assets/javascripts/src/util/Observable.js +0 -1003
- data/app/assets/javascripts/src/util/Offset.js +0 -60
- data/app/assets/javascripts/src/util/Point.js +0 -93
- data/app/assets/javascripts/src/util/ProtoElement.js +0 -205
- data/app/assets/javascripts/src/util/Queue.js +0 -76
- data/app/assets/javascripts/src/util/Region.js +0 -388
- data/app/assets/javascripts/src/util/Renderable.js +0 -1079
- data/app/assets/javascripts/src/util/Sortable.js +0 -248
- data/app/assets/javascripts/src/util/Sorter.js +0 -179
- data/app/assets/javascripts/src/util/TextMetrics.js +0 -148
- data/app/assets/javascripts/src/view/AbstractView.js +0 -1103
- data/app/assets/javascripts/src/view/BoundList.js +0 -207
- data/app/assets/javascripts/src/view/BoundListKeyNav.js +0 -92
- data/app/assets/javascripts/src/view/DragZone.js +0 -106
- data/app/assets/javascripts/src/view/DropZone.js +0 -240
- data/app/assets/javascripts/src/view/Table.js +0 -1229
- data/app/assets/javascripts/src/view/TableChunker.js +0 -139
- data/app/assets/javascripts/src/view/View.js +0 -636
- data/app/assets/javascripts/src/window/MessageBox.js +0 -880
- data/app/assets/javascripts/src/window/Window-legacy.js +0 -56
- data/app/assets/javascripts/src/window/Window.js +0 -793
@@ -1,110 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @docauthor Jason Johnston <jason@sencha.com>
|
3
|
-
*
|
4
|
-
* Produces a standalone `<label />` element which can be inserted into a form and be associated with a field
|
5
|
-
* in that form using the {@link #forId} property.
|
6
|
-
*
|
7
|
-
* **NOTE:** in most cases it will be more appropriate to use the {@link Ext.form.Labelable#fieldLabel fieldLabel}
|
8
|
-
* and associated config properties ({@link Ext.form.Labelable#labelAlign}, {@link Ext.form.Labelable#labelWidth},
|
9
|
-
* etc.) in field components themselves, as that allows labels to be uniformly sized throughout the form.
|
10
|
-
* Ext.form.Label should only be used when your layout can not be achieved with the standard
|
11
|
-
* {@link Ext.form.Labelable field layout}.
|
12
|
-
*
|
13
|
-
* You will likely be associating the label with a field component that extends {@link Ext.form.field.Base}, so
|
14
|
-
* you should make sure the {@link #forId} is set to the same value as the {@link Ext.form.field.Base#inputId inputId}
|
15
|
-
* of that field.
|
16
|
-
*
|
17
|
-
* The label's text can be set using either the {@link #text} or {@link #html} configuration properties; the
|
18
|
-
* difference between the two is that the former will automatically escape HTML characters when rendering, while
|
19
|
-
* the latter will not.
|
20
|
-
*
|
21
|
-
* # Example
|
22
|
-
*
|
23
|
-
* This example creates a Label after its associated Text field, an arrangement that cannot currently
|
24
|
-
* be achieved using the standard Field layout's labelAlign.
|
25
|
-
*
|
26
|
-
* @example
|
27
|
-
* Ext.create('Ext.form.Panel', {
|
28
|
-
* title: 'Field with Label',
|
29
|
-
* width: 400,
|
30
|
-
* bodyPadding: 10,
|
31
|
-
* renderTo: Ext.getBody(),
|
32
|
-
* layout: {
|
33
|
-
* type: 'hbox',
|
34
|
-
* align: 'middle'
|
35
|
-
* },
|
36
|
-
* items: [{
|
37
|
-
* xtype: 'textfield',
|
38
|
-
* hideLabel: true,
|
39
|
-
* flex: 1
|
40
|
-
* }, {
|
41
|
-
* xtype: 'label',
|
42
|
-
* forId: 'myFieldId',
|
43
|
-
* text: 'My Awesome Field',
|
44
|
-
* margin: '0 0 0 10'
|
45
|
-
* }]
|
46
|
-
* });
|
47
|
-
*/
|
48
|
-
Ext.define('Ext.form.Label', {
|
49
|
-
extend:'Ext.Component',
|
50
|
-
alias: 'widget.label',
|
51
|
-
requires: ['Ext.util.Format'],
|
52
|
-
|
53
|
-
autoEl: 'label',
|
54
|
-
|
55
|
-
/**
|
56
|
-
* @cfg {String} [text='']
|
57
|
-
* The plain text to display within the label. If you need to include HTML
|
58
|
-
* tags within the label's innerHTML, use the {@link #html} config instead.
|
59
|
-
*/
|
60
|
-
/**
|
61
|
-
* @cfg {String} forId
|
62
|
-
* The id of the input element to which this label will be bound via the standard HTML 'for'
|
63
|
-
* attribute. If not specified, the attribute will not be added to the label. In most cases you will be
|
64
|
-
* associating the label with a {@link Ext.form.field.Base} component, so you should make sure this matches
|
65
|
-
* the {@link Ext.form.field.Base#inputId inputId} of that field.
|
66
|
-
*/
|
67
|
-
/**
|
68
|
-
* @cfg {String} [html='']
|
69
|
-
* An HTML fragment that will be used as the label's innerHTML.
|
70
|
-
* Note that if {@link #text} is specified it will take precedence and this value will be ignored.
|
71
|
-
*/
|
72
|
-
|
73
|
-
maskOnDisable: false,
|
74
|
-
|
75
|
-
getElConfig: function(){
|
76
|
-
var me = this;
|
77
|
-
|
78
|
-
me.html = me.text ? Ext.util.Format.htmlEncode(me.text) : (me.html || '');
|
79
|
-
return Ext.apply(me.callParent(), {
|
80
|
-
htmlFor: me.forId || ''
|
81
|
-
});
|
82
|
-
},
|
83
|
-
|
84
|
-
/**
|
85
|
-
* Updates the label's innerHTML with the specified string.
|
86
|
-
* @param {String} text The new label text
|
87
|
-
* @param {Boolean} [encode=true] False to skip HTML-encoding the text when rendering it
|
88
|
-
* to the label. This might be useful if you want to include tags in the label's innerHTML rather
|
89
|
-
* than rendering them as string literals per the default logic.
|
90
|
-
* @return {Ext.form.Label} this
|
91
|
-
*/
|
92
|
-
setText : function(text, encode){
|
93
|
-
var me = this;
|
94
|
-
|
95
|
-
encode = encode !== false;
|
96
|
-
if(encode) {
|
97
|
-
me.text = text;
|
98
|
-
delete me.html;
|
99
|
-
} else {
|
100
|
-
me.html = text;
|
101
|
-
delete me.text;
|
102
|
-
}
|
103
|
-
|
104
|
-
if(me.rendered){
|
105
|
-
me.el.dom.innerHTML = encode !== false ? Ext.util.Format.htmlEncode(text) : text;
|
106
|
-
}
|
107
|
-
return this;
|
108
|
-
}
|
109
|
-
});
|
110
|
-
|
@@ -1,764 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* A mixin which allows a component to be configured and decorated with a label and/or error message as is
|
3
|
-
* common for form fields. This is used by e.g. Ext.form.field.Base and Ext.form.FieldContainer
|
4
|
-
* to let them be managed by the Field layout.
|
5
|
-
*
|
6
|
-
* NOTE: This mixin is mainly for internal library use and most users should not need to use it directly. It
|
7
|
-
* is more likely you will want to use one of the component classes that import this mixin, such as
|
8
|
-
* Ext.form.field.Base or Ext.form.FieldContainer.
|
9
|
-
*
|
10
|
-
* Use of this mixin does not make a component a field in the logical sense, meaning it does not provide any
|
11
|
-
* logic or state related to values or validation; that is handled by the related Ext.form.field.Field
|
12
|
-
* mixin. These two mixins may be used separately (for example Ext.form.FieldContainer is Labelable but not a
|
13
|
-
* Field), or in combination (for example Ext.form.field.Base implements both and has logic for connecting the
|
14
|
-
* two.)
|
15
|
-
*
|
16
|
-
* Component classes which use this mixin should use the Field layout
|
17
|
-
* or a derivation thereof to properly size and position the label and message according to the component config.
|
18
|
-
* They must also call the {@link #initLabelable} method during component initialization to ensure the mixin gets
|
19
|
-
* set up correctly.
|
20
|
-
*
|
21
|
-
* @docauthor Jason Johnston <jason@sencha.com>
|
22
|
-
*/
|
23
|
-
Ext.define("Ext.form.Labelable", {
|
24
|
-
requires: ['Ext.XTemplate'],
|
25
|
-
|
26
|
-
autoEl: {
|
27
|
-
tag: 'table',
|
28
|
-
cellpadding: 0
|
29
|
-
},
|
30
|
-
|
31
|
-
childEls: [
|
32
|
-
/**
|
33
|
-
* @property {Ext.Element} labelCell
|
34
|
-
* The `<TD>` Element which contains the label Element for this component. Only available after the component has been rendered.
|
35
|
-
*/
|
36
|
-
'labelCell',
|
37
|
-
|
38
|
-
/**
|
39
|
-
* @property {Ext.Element} labelEl
|
40
|
-
* The label Element for this component. Only available after the component has been rendered.
|
41
|
-
*/
|
42
|
-
'labelEl',
|
43
|
-
|
44
|
-
/**
|
45
|
-
* @property {Ext.Element} bodyEl
|
46
|
-
* The div Element wrapping the component's contents. Only available after the component has been rendered.
|
47
|
-
*/
|
48
|
-
'bodyEl',
|
49
|
-
|
50
|
-
/**
|
51
|
-
* @property {Ext.Element} errorEl
|
52
|
-
* The div Element that will contain the component's error message(s). Note that depending on the configured
|
53
|
-
* {@link #msgTarget}, this element may be hidden in favor of some other form of presentation, but will always
|
54
|
-
* be present in the DOM for use by assistive technologies.
|
55
|
-
*/
|
56
|
-
'errorEl',
|
57
|
-
|
58
|
-
'inputRow'
|
59
|
-
],
|
60
|
-
|
61
|
-
/**
|
62
|
-
* @cfg {String/String[]/Ext.XTemplate} labelableRenderTpl
|
63
|
-
* The rendering template for the field decorations. Component classes using this mixin
|
64
|
-
* should include logic to use this as their {@link Ext.AbstractComponent#renderTpl renderTpl},
|
65
|
-
* and implement the {@link #getSubTplMarkup} method to generate the field body content.
|
66
|
-
*
|
67
|
-
* The structure of a field is a table as follows:
|
68
|
-
*
|
69
|
-
* If `label:align: 'left|top'`:
|
70
|
-
*
|
71
|
-
* +----------------------+------------+---------+--------------+
|
72
|
-
* | Label: | InputField | sideErrorEl |
|
73
|
-
* +----------------------+------------+---------+-------------+
|
74
|
-
* | | underErrorEl (colspan=3) |
|
75
|
-
* +-----------------------------------------------------------+
|
76
|
-
*
|
77
|
-
* Or, if `labelAlign: 'top'`:
|
78
|
-
*
|
79
|
-
* +-----------------------------------------------------------+
|
80
|
-
* | labelAlign:'top' label: (colspan=3) |
|
81
|
-
* +----------------------+------------+---------+-------------+
|
82
|
-
* | InputField (colspan=2) | sideErrorEl |
|
83
|
-
* +----------------------+------------+---------+-------------+
|
84
|
-
* | underErrorEl (colspan=3) |
|
85
|
-
* +-----------------------------------------------------------+
|
86
|
-
*
|
87
|
-
* The total columns always adds up to 3 (even if `labelAlign: 'top'`) because when
|
88
|
-
* rendered into a {@link Ext.layout.container.Form} layout, just the `TR` of the table
|
89
|
-
* will be placed into the form's main `TABLE`, and the columns of all the siblings
|
90
|
-
* must match so that they all line up.
|
91
|
-
*
|
92
|
-
* When the triggerCell or side error cell are hidden or shown, the input cell's colspan
|
93
|
-
* is recalculated to maintain the correct 3 visible column count.
|
94
|
-
* @private
|
95
|
-
*/
|
96
|
-
labelableRenderTpl: [
|
97
|
-
|
98
|
-
// Top TR if labelAlign =='top'
|
99
|
-
'<tpl if="labelAlign==\'top\'">',
|
100
|
-
'<tr>',
|
101
|
-
'<td id="{id}-labelCell" colspan="3" style="{labelCellStyle}" {labelCellAttrs}>',
|
102
|
-
'{beforeLabelTpl}',
|
103
|
-
'<label id="{id}-labelEl" {labelAttrTpl}<tpl if="inputId"> for="{inputId}"</tpl> class="{labelCls}"',
|
104
|
-
'<tpl if="labelStyle"> style="{labelStyle}"</tpl>>',
|
105
|
-
'{beforeLabelTextTpl}',
|
106
|
-
'<tpl if="fieldLabel">{fieldLabel}{labelSeparator}</tpl>',
|
107
|
-
'{afterLabelTextTpl}',
|
108
|
-
'</label>',
|
109
|
-
'{afterLabelTpl}',
|
110
|
-
'</td>',
|
111
|
-
'</tr>',
|
112
|
-
'</tpl>',
|
113
|
-
|
114
|
-
// body row. If a heighted Field (eg TextArea, HtmlEditor, this must greedily consume height.
|
115
|
-
'<tr id="{id}-inputRow" <tpl if="inFormLayout">id="{id}"</tpl>>',
|
116
|
-
|
117
|
-
// Label cell
|
118
|
-
'<tpl if="labelOnLeft">',
|
119
|
-
'<td id="{id}-labelCell" style="{labelCellStyle}" {labelCellAttrs}>',
|
120
|
-
'{beforeLabelTpl}',
|
121
|
-
'<label id="{id}-labelEl" {labelAttrTpl}<tpl if="inputId"> for="{inputId}"</tpl> class="{labelCls}"',
|
122
|
-
'<tpl if="labelStyle"> style="{labelStyle}"</tpl>>',
|
123
|
-
'{beforeLabelTextTpl}',
|
124
|
-
'<tpl if="fieldLabel">{fieldLabel}{labelSeparator}</tpl>',
|
125
|
-
'{afterLabelTextTpl}',
|
126
|
-
'</label>',
|
127
|
-
'{afterLabelTpl}',
|
128
|
-
'</td>',
|
129
|
-
'</tpl>',
|
130
|
-
|
131
|
-
// Body of the input. That will be an input element, or, from a TriggerField, a table containing an input cell and trigger cell(s)
|
132
|
-
'<td class="{baseBodyCls} {fieldBodyCls}" id="{id}-bodyEl" role="presentation" colspan="{bodyColspan}">',
|
133
|
-
'{beforeSubTpl}',
|
134
|
-
'{[values.$comp.getSubTplMarkup()]}',
|
135
|
-
'{afterSubTpl}',
|
136
|
-
'</td>',
|
137
|
-
|
138
|
-
// Side error element
|
139
|
-
'<tpl if="msgTarget==\'side\'">',
|
140
|
-
'<td id="{id}-errorEl" class="{errorMsgCls}" style="display:none" width="{errorIconWidth}"></td>',
|
141
|
-
'</tpl>',
|
142
|
-
'</tr>',
|
143
|
-
|
144
|
-
// Under error element is another TR
|
145
|
-
'<tpl if="msgTarget==\'under\'">',
|
146
|
-
'<tr>',
|
147
|
-
// Align under the input element
|
148
|
-
'<tpl if="labelOnLeft">',
|
149
|
-
'<td></td>',
|
150
|
-
'</tpl>',
|
151
|
-
'<td id="{id}-errorEl" class="{errorMsgClass}" colspan="{[values.labelOnLeft ? 2 : 3]}" style="display:none"></td>',
|
152
|
-
'</tr>',
|
153
|
-
'</tpl>',
|
154
|
-
{
|
155
|
-
disableFormats: true
|
156
|
-
}
|
157
|
-
],
|
158
|
-
|
159
|
-
/**
|
160
|
-
* @cfg {String/String[]/Ext.XTemplate} activeErrorsTpl
|
161
|
-
* The template used to format the Array of error messages passed to {@link #setActiveErrors} into a single HTML
|
162
|
-
* string. By default this renders each message as an item in an unordered list.
|
163
|
-
*/
|
164
|
-
activeErrorsTpl: [
|
165
|
-
'<tpl if="errors && errors.length">',
|
166
|
-
'<ul><tpl for="errors"><li>{.}</li></tpl></ul>',
|
167
|
-
'</tpl>'
|
168
|
-
],
|
169
|
-
|
170
|
-
/**
|
171
|
-
* @property {Boolean} isFieldLabelable
|
172
|
-
* Flag denoting that this object is labelable as a field. Always true.
|
173
|
-
*/
|
174
|
-
isFieldLabelable: true,
|
175
|
-
|
176
|
-
/**
|
177
|
-
* @cfg {String} formItemCls
|
178
|
-
* A CSS class to be applied to the outermost element to denote that it is participating in the form field layout.
|
179
|
-
*/
|
180
|
-
formItemCls: Ext.baseCSSPrefix + 'form-item',
|
181
|
-
|
182
|
-
/**
|
183
|
-
* @cfg {String} labelCls
|
184
|
-
* The CSS class to be applied to the label element. This (single) CSS class is used to formulate the renderSelector
|
185
|
-
* and drives the field layout where it is concatenated with a hyphen ('-') and {@link #labelAlign}. To add
|
186
|
-
* additional classes, use {@link #labelClsExtra}.
|
187
|
-
*/
|
188
|
-
labelCls: Ext.baseCSSPrefix + 'form-item-label',
|
189
|
-
|
190
|
-
/**
|
191
|
-
* @cfg {String} labelClsExtra
|
192
|
-
* An optional string of one or more additional CSS classes to add to the label element. Defaults to empty.
|
193
|
-
*/
|
194
|
-
|
195
|
-
/**
|
196
|
-
* @cfg {String} errorMsgCls
|
197
|
-
* The CSS class to be applied to the error message element.
|
198
|
-
*/
|
199
|
-
errorMsgCls: Ext.baseCSSPrefix + 'form-error-msg',
|
200
|
-
|
201
|
-
/**
|
202
|
-
* @cfg {String} baseBodyCls
|
203
|
-
* The CSS class to be applied to the body content element.
|
204
|
-
*/
|
205
|
-
baseBodyCls: Ext.baseCSSPrefix + 'form-item-body',
|
206
|
-
|
207
|
-
/**
|
208
|
-
* @cfg {String} fieldBodyCls
|
209
|
-
* An extra CSS class to be applied to the body content element in addition to {@link #baseBodyCls}.
|
210
|
-
*/
|
211
|
-
fieldBodyCls: '',
|
212
|
-
|
213
|
-
/**
|
214
|
-
* @cfg {String} clearCls
|
215
|
-
* The CSS class to be applied to the special clearing div rendered directly after the field contents wrapper to
|
216
|
-
* provide field clearing.
|
217
|
-
*/
|
218
|
-
clearCls: Ext.baseCSSPrefix + 'clear',
|
219
|
-
|
220
|
-
/**
|
221
|
-
* @cfg {String} invalidCls
|
222
|
-
* The CSS class to use when marking the component invalid.
|
223
|
-
*/
|
224
|
-
invalidCls : Ext.baseCSSPrefix + 'form-invalid',
|
225
|
-
|
226
|
-
/**
|
227
|
-
* @cfg {String} fieldLabel
|
228
|
-
* The label for the field. It gets appended with the {@link #labelSeparator}, and its position and sizing is
|
229
|
-
* determined by the {@link #labelAlign}, {@link #labelWidth}, and {@link #labelPad} configs.
|
230
|
-
*/
|
231
|
-
fieldLabel: undefined,
|
232
|
-
|
233
|
-
/**
|
234
|
-
* @cfg {String} labelAlign
|
235
|
-
* Controls the position and alignment of the {@link #fieldLabel}. Valid values are:
|
236
|
-
*
|
237
|
-
* - "left" (the default) - The label is positioned to the left of the field, with its text aligned to the left.
|
238
|
-
* Its width is determined by the {@link #labelWidth} config.
|
239
|
-
* - "top" - The label is positioned above the field.
|
240
|
-
* - "right" - The label is positioned to the left of the field, with its text aligned to the right.
|
241
|
-
* Its width is determined by the {@link #labelWidth} config.
|
242
|
-
*/
|
243
|
-
labelAlign : 'left',
|
244
|
-
|
245
|
-
/**
|
246
|
-
* @cfg {Number} labelWidth
|
247
|
-
* The width of the {@link #fieldLabel} in pixels. Only applicable if the {@link #labelAlign} is set to "left" or
|
248
|
-
* "right".
|
249
|
-
*/
|
250
|
-
labelWidth: 100,
|
251
|
-
|
252
|
-
/**
|
253
|
-
* @cfg {Number} labelPad
|
254
|
-
* The amount of space in pixels between the {@link #fieldLabel} and the input field.
|
255
|
-
*/
|
256
|
-
labelPad : 5,
|
257
|
-
|
258
|
-
/**
|
259
|
-
* @cfg {String} labelSeparator
|
260
|
-
* Character(s) to be inserted at the end of the {@link #fieldLabel label text}.
|
261
|
-
*/
|
262
|
-
//<locale>
|
263
|
-
labelSeparator : ':',
|
264
|
-
//</locale>
|
265
|
-
|
266
|
-
/**
|
267
|
-
* @cfg {String} labelStyle
|
268
|
-
* A CSS style specification string to apply directly to this field's label.
|
269
|
-
*/
|
270
|
-
|
271
|
-
/**
|
272
|
-
* @cfg {Boolean} hideLabel
|
273
|
-
* Set to true to completely hide the label element ({@link #fieldLabel} and {@link #labelSeparator}). Also see
|
274
|
-
* {@link #hideEmptyLabel}, which controls whether space will be reserved for an empty fieldLabel.
|
275
|
-
*/
|
276
|
-
hideLabel: false,
|
277
|
-
|
278
|
-
/**
|
279
|
-
* @cfg {Boolean} hideEmptyLabel
|
280
|
-
* When set to true, the label element ({@link #fieldLabel} and {@link #labelSeparator}) will be automatically
|
281
|
-
* hidden if the {@link #fieldLabel} is empty. Setting this to false will cause the empty label element to be
|
282
|
-
* rendered and space to be reserved for it; this is useful if you want a field without a label to line up with
|
283
|
-
* other labeled fields in the same form.
|
284
|
-
*
|
285
|
-
* If you wish to unconditionall hide the label even if a non-empty fieldLabel is configured, then set the {@link
|
286
|
-
* #hideLabel} config to true.
|
287
|
-
*/
|
288
|
-
hideEmptyLabel: true,
|
289
|
-
|
290
|
-
/**
|
291
|
-
* @cfg {Boolean} preventMark
|
292
|
-
* true to disable displaying any {@link #setActiveError error message} set on this object.
|
293
|
-
*/
|
294
|
-
preventMark: false,
|
295
|
-
|
296
|
-
/**
|
297
|
-
* @cfg {Boolean} autoFitErrors
|
298
|
-
* Whether to adjust the component's body area to make room for 'side' or 'under' {@link #msgTarget error messages}.
|
299
|
-
*/
|
300
|
-
autoFitErrors: true,
|
301
|
-
|
302
|
-
/**
|
303
|
-
* @cfg {String} msgTarget
|
304
|
-
* The location where the error message text should display. Must be one of the following values:
|
305
|
-
*
|
306
|
-
* - `qtip` Display a quick tip containing the message when the user hovers over the field.
|
307
|
-
* This is the default.
|
308
|
-
*
|
309
|
-
* **{@link Ext.tip.QuickTipManager#init} must have been called for this setting to work.**
|
310
|
-
*
|
311
|
-
* - `title` Display the message in a default browser title attribute popup.
|
312
|
-
* - `under` Add a block div beneath the field containing the error message.
|
313
|
-
* - `side` Add an error icon to the right of the field, displaying the message in a popup on hover.
|
314
|
-
* - `none` Don't display any error message. This might be useful if you are implementing custom error display.
|
315
|
-
* - `[element id]` Add the error message directly to the innerHTML of the specified element.
|
316
|
-
*/
|
317
|
-
msgTarget: 'qtip',
|
318
|
-
|
319
|
-
/**
|
320
|
-
* @cfg {String} activeError
|
321
|
-
* If specified, then the component will be displayed with this value as its active error when first rendered. Use
|
322
|
-
* {@link #setActiveError} or {@link #unsetActiveError} to change it after component creation.
|
323
|
-
*/
|
324
|
-
|
325
|
-
/**
|
326
|
-
* @private
|
327
|
-
* Tells the layout system that the height can be measured immediately because the width does not need setting.
|
328
|
-
*/
|
329
|
-
noWrap: true,
|
330
|
-
|
331
|
-
labelableInsertions: [
|
332
|
-
/**
|
333
|
-
* @cfg {String/Array/Ext.XTemplate} beforeLabelTpl
|
334
|
-
* An optional string or `XTemplate` configuration to insert in the field markup
|
335
|
-
* before the label element. If an `XTemplate` is used, the component's {@link Ext.AbstractComponent#renderData render data}
|
336
|
-
* serves as the context.
|
337
|
-
*/
|
338
|
-
'beforeLabelTpl',
|
339
|
-
|
340
|
-
/**
|
341
|
-
* @cfg {String/Array/Ext.XTemplate} afterLabelTpl
|
342
|
-
* An optional string or `XTemplate` configuration to insert in the field markup
|
343
|
-
* after the label element. If an `XTemplate` is used, the component's {@link Ext.AbstractComponent#renderData render data}
|
344
|
-
* serves as the context.
|
345
|
-
*/
|
346
|
-
'afterLabelTpl',
|
347
|
-
|
348
|
-
/**
|
349
|
-
* @cfg {String/Array/Ext.XTemplate} beforeSubTpl
|
350
|
-
* An optional string or `XTemplate` configuration to insert in the field markup
|
351
|
-
* before the {@link #getSubTplMarkup subTpl markup}. If an `XTemplate` is used, the
|
352
|
-
* component's {@link Ext.AbstractComponent#renderData render data} serves as the context.
|
353
|
-
*/
|
354
|
-
'beforeSubTpl',
|
355
|
-
|
356
|
-
/**
|
357
|
-
* @cfg {String/Array/Ext.XTemplate} afterSubTpl
|
358
|
-
* An optional string or `XTemplate` configuration to insert in the field markup
|
359
|
-
* after the {@link #getSubTplMarkup subTpl markup}. If an `XTemplate` is used, the
|
360
|
-
* component's {@link Ext.AbstractComponent#renderData render data} serves as the context.
|
361
|
-
*/
|
362
|
-
'afterSubTpl',
|
363
|
-
|
364
|
-
/**
|
365
|
-
* @cfg {String/Array/Ext.XTemplate} beforeLabelTextTpl
|
366
|
-
* An optional string or `XTemplate` configuration to insert in the field markup
|
367
|
-
* before the label text. If an `XTemplate` is used, the component's {@link Ext.AbstractComponent#renderData render data}
|
368
|
-
* serves as the context.
|
369
|
-
*/
|
370
|
-
'beforeLabelTextTpl',
|
371
|
-
|
372
|
-
/**
|
373
|
-
* @cfg {String/Array/Ext.XTemplate} afterLabelTextTpl
|
374
|
-
* An optional string or `XTemplate` configuration to insert in the field markup
|
375
|
-
* after the label text. If an `XTemplate` is used, the component's {@link Ext.AbstractComponent#renderData render data}
|
376
|
-
* serves as the context.
|
377
|
-
*/
|
378
|
-
'afterLabelTextTpl',
|
379
|
-
|
380
|
-
/**
|
381
|
-
* @cfg {String/Array/Ext.XTemplate} labelAttrTpl
|
382
|
-
* An optional string or `XTemplate` configuration to insert in the field markup
|
383
|
-
* inside the label element (as attributes). If an `XTemplate` is used, the component's
|
384
|
-
* {@link Ext.AbstractComponent#renderData render data} serves as the context.
|
385
|
-
*/
|
386
|
-
'labelAttrTpl'
|
387
|
-
],
|
388
|
-
|
389
|
-
labelableRenderProps: 'allowBlank,labelAlign,fieldBodyCls,baseBodyCls,clearCls,labelSeparator,msgTarget',
|
390
|
-
|
391
|
-
/**
|
392
|
-
* Performs initialization of this mixin. Component classes using this mixin should call this method during their
|
393
|
-
* own initialization.
|
394
|
-
*/
|
395
|
-
initLabelable: function() {
|
396
|
-
var me = this,
|
397
|
-
padding = me.padding;
|
398
|
-
|
399
|
-
// This Component is rendered as a table. Padding doesn't work on tables
|
400
|
-
// Before padding can be applied to the encapsulating table element, copy the padding into
|
401
|
-
// an extraMargins property which is to be added to all computed margins post render :(
|
402
|
-
if (padding) {
|
403
|
-
me.padding = undefined;
|
404
|
-
me.extraMargins = Ext.Element.parseBox(padding);
|
405
|
-
}
|
406
|
-
|
407
|
-
me.addCls(me.formItemCls);
|
408
|
-
|
409
|
-
// Prevent first render of active error, at Field render time from signalling a change from undefined to "
|
410
|
-
me.lastActiveError = '';
|
411
|
-
|
412
|
-
me.addEvents(
|
413
|
-
/**
|
414
|
-
* @event errorchange
|
415
|
-
* Fires when the active error message is changed via {@link #setActiveError}.
|
416
|
-
* @param {Ext.form.Labelable} this
|
417
|
-
* @param {String} error The active error message
|
418
|
-
*/
|
419
|
-
'errorchange'
|
420
|
-
);
|
421
|
-
},
|
422
|
-
|
423
|
-
/**
|
424
|
-
* Returns the label for the field. Defaults to simply returning the {@link #fieldLabel} config. Can be overridden
|
425
|
-
* to provide
|
426
|
-
* @return {String} The configured field label, or empty string if not defined
|
427
|
-
*/
|
428
|
-
getFieldLabel: function() {
|
429
|
-
return this.fieldLabel || '';
|
430
|
-
},
|
431
|
-
|
432
|
-
/**
|
433
|
-
* Set the label of this field.
|
434
|
-
* @param {String} label The new label. The {@link #labelSeparator} will be automatically appended to the label
|
435
|
-
* string.
|
436
|
-
*/
|
437
|
-
setFieldLabel: function(label){
|
438
|
-
label = label || '';
|
439
|
-
|
440
|
-
var me = this,
|
441
|
-
separator = me.labelSeparator,
|
442
|
-
labelEl = me.labelEl,
|
443
|
-
last;
|
444
|
-
|
445
|
-
me.fieldLabel = label;
|
446
|
-
if (me.rendered) {
|
447
|
-
if (Ext.isEmpty(label) && me.hideEmptyLabel) {
|
448
|
-
labelEl.parent().setDisplayed('none');
|
449
|
-
} else {
|
450
|
-
if (separator) {
|
451
|
-
last = label.substr(label.length - 1);
|
452
|
-
// append separator if necessary
|
453
|
-
if (last != separator) {
|
454
|
-
label += separator;
|
455
|
-
}
|
456
|
-
}
|
457
|
-
labelEl.update(label);
|
458
|
-
labelEl.parent().setDisplayed('');
|
459
|
-
}
|
460
|
-
me.updateLayout();
|
461
|
-
}
|
462
|
-
},
|
463
|
-
|
464
|
-
getInsertionRenderData: function (data, names) {
|
465
|
-
var i = names.length,
|
466
|
-
name, value;
|
467
|
-
|
468
|
-
while (i--) {
|
469
|
-
name = names[i];
|
470
|
-
value = this[name];
|
471
|
-
|
472
|
-
if (value) {
|
473
|
-
if (typeof value != 'string') {
|
474
|
-
if (!value.isTemplate) {
|
475
|
-
value = Ext.XTemplate.getTpl(this, name);
|
476
|
-
}
|
477
|
-
value = value.apply(data);
|
478
|
-
}
|
479
|
-
}
|
480
|
-
|
481
|
-
data[name] = value || '';
|
482
|
-
}
|
483
|
-
|
484
|
-
return data;
|
485
|
-
},
|
486
|
-
|
487
|
-
/**
|
488
|
-
* Generates the arguments for the field decorations {@link #labelableRenderTpl rendering template}.
|
489
|
-
* @return {Object} The template arguments
|
490
|
-
* @protected
|
491
|
-
*/
|
492
|
-
getLabelableRenderData: function() {
|
493
|
-
var me = this,
|
494
|
-
data,
|
495
|
-
tempEl;
|
496
|
-
|
497
|
-
if (!Ext.form.Labelable.errorIconWidth) {
|
498
|
-
Ext.form.Labelable.errorIconWidth = (tempEl = Ext.getBody().createChild({style: 'position:absolute', cls: Ext.baseCSSPrefix + 'form-invalid-icon'})).getWidth();
|
499
|
-
tempEl.remove();
|
500
|
-
}
|
501
|
-
|
502
|
-
data = Ext.copyTo({
|
503
|
-
inFormLayout : me.ownerLayout && me.ownerLayout.type === 'form',
|
504
|
-
inputId : me.getInputId(),
|
505
|
-
labelOnLeft : me.labelAlign != 'top',
|
506
|
-
fieldLabel : me.getFieldLabel(),
|
507
|
-
labelCellStyle : me.getLabelCellStyle(),
|
508
|
-
labelCellAttrs : me.getLabelCellAttrs(),
|
509
|
-
labelCls : me.getLabelCls(),
|
510
|
-
labelStyle : me.getLabelStyle(),
|
511
|
-
bodyColspan : me.getBodyColspan(),
|
512
|
-
errorMsgCls : me.errorMsgCls + (me.autoFitErrors ? '' : ' ' + Ext.baseCSSPrefix + 'external-error-icon'),
|
513
|
-
errorIconWidth : Ext.form.Labelable.errorIconWidth
|
514
|
-
},
|
515
|
-
me, me.labelableRenderProps, true);
|
516
|
-
|
517
|
-
me.getInsertionRenderData(data, me.labelableInsertions);
|
518
|
-
|
519
|
-
return data;
|
520
|
-
},
|
521
|
-
|
522
|
-
beforeLabelableRender: function() {
|
523
|
-
var me = this;
|
524
|
-
if (me.ownerLayout) {
|
525
|
-
me.addCls(Ext.baseCSSPrefix + me.ownerLayout.type + '-form-item');
|
526
|
-
}
|
527
|
-
},
|
528
|
-
|
529
|
-
onLabelableRender: function() {
|
530
|
-
var me = this,
|
531
|
-
margins,
|
532
|
-
side,
|
533
|
-
style = {};
|
534
|
-
|
535
|
-
if (me.extraMargins) {
|
536
|
-
margins = me.el.getMargin();
|
537
|
-
for (side in margins) {
|
538
|
-
if (margins.hasOwnProperty(side)) {
|
539
|
-
style['margin-' + side] = (margins[side] + me.extraMargins[side]) + 'px';
|
540
|
-
}
|
541
|
-
}
|
542
|
-
me.el.setStyle(style);
|
543
|
-
}
|
544
|
-
},
|
545
|
-
|
546
|
-
/**
|
547
|
-
* Checks if the field has a visible label
|
548
|
-
* @return {Boolean} True if the field has a visible label
|
549
|
-
*/
|
550
|
-
hasVisibleLabel: function(){
|
551
|
-
if (this.hideLabel) {
|
552
|
-
return false;
|
553
|
-
}
|
554
|
-
return !(this.hideEmptyLabel && !this.getFieldLabel());
|
555
|
-
},
|
556
|
-
|
557
|
-
/**
|
558
|
-
* @private
|
559
|
-
* Calculates the colspan value for the body cell - the cell which contains the input field.
|
560
|
-
*
|
561
|
-
* The field table structure contains 4 columns:
|
562
|
-
*/
|
563
|
-
getBodyColspan: function() {
|
564
|
-
var me = this,
|
565
|
-
hideLabelCell = !me.hasVisibleLabel(),
|
566
|
-
result;
|
567
|
-
|
568
|
-
// In the base case, the body cell spans itself, the triggerWrap cell, and the sideErrorEl by default, so 3
|
569
|
-
// If the label cell is hidden, or on the row above, the body cell must span the left label cell too, so 4
|
570
|
-
// TriggerFields which show the trigger cell, decrement this in the subclass implementation.
|
571
|
-
result = (hideLabelCell || me.labelAlign === 'top') ? 3 : 2;
|
572
|
-
|
573
|
-
if (me.hasActiveError()) {
|
574
|
-
result--;
|
575
|
-
}
|
576
|
-
|
577
|
-
return result;
|
578
|
-
},
|
579
|
-
|
580
|
-
getLabelCls: function(){
|
581
|
-
var labelCls = this.labelCls,
|
582
|
-
labelClsExtra = this.labelClsExtra;
|
583
|
-
|
584
|
-
return labelClsExtra ? labelCls + ' ' + labelClsExtra : labelCls;
|
585
|
-
},
|
586
|
-
|
587
|
-
getLabelCellStyle: function() {
|
588
|
-
var me = this,
|
589
|
-
hideLabelCell = me.hideLabel || (!me.fieldLabel && me.hideEmptyLabel);
|
590
|
-
|
591
|
-
return hideLabelCell ? 'display:none;' : '';
|
592
|
-
},
|
593
|
-
|
594
|
-
getLabelCellAttrs: function() {
|
595
|
-
var me = this,
|
596
|
-
labelAlign = me.labelAlign,
|
597
|
-
result = '';
|
598
|
-
|
599
|
-
if (labelAlign !== 'top') {
|
600
|
-
result = 'valign="top" halign="' + labelAlign + '" width="' + (me.labelWidth + me.labelPad) + '"';
|
601
|
-
}
|
602
|
-
return result + ' class="' + Ext.baseCSSPrefix + 'field-label-cell"';
|
603
|
-
},
|
604
|
-
|
605
|
-
/**
|
606
|
-
* Gets any label styling for the labelEl
|
607
|
-
* @private
|
608
|
-
* @return {String} The label styling
|
609
|
-
*/
|
610
|
-
getLabelStyle: function(){
|
611
|
-
var me = this,
|
612
|
-
labelPad = me.labelPad,
|
613
|
-
labelStyle = '';
|
614
|
-
|
615
|
-
// Calculate label styles up front rather than in the Field layout for speed; this
|
616
|
-
// is safe because label alignment/width/pad are not expected to change.
|
617
|
-
if (me.labelAlign === 'top') {
|
618
|
-
labelStyle = 'margin-bottom:' + labelPad + 'px;';
|
619
|
-
} else {
|
620
|
-
if (me.labelWidth) {
|
621
|
-
labelStyle = 'width:' + me.labelWidth + 'px;';
|
622
|
-
}
|
623
|
-
labelStyle += 'margin-right:' + labelPad + 'px;';
|
624
|
-
}
|
625
|
-
|
626
|
-
return labelStyle + (me.labelStyle || '');
|
627
|
-
},
|
628
|
-
|
629
|
-
/**
|
630
|
-
* Gets the markup to be inserted into the outer template's bodyEl. Defaults to empty string, should be implemented
|
631
|
-
* by classes including this mixin as needed.
|
632
|
-
* @return {String} The markup to be inserted
|
633
|
-
* @protected
|
634
|
-
*/
|
635
|
-
getSubTplMarkup: function() {
|
636
|
-
return '';
|
637
|
-
},
|
638
|
-
|
639
|
-
/**
|
640
|
-
* Get the input id, if any, for this component. This is used as the "for" attribute on the label element.
|
641
|
-
* Implementing subclasses may also use this as e.g. the id for their own input element.
|
642
|
-
* @return {String} The input id
|
643
|
-
*/
|
644
|
-
getInputId: function() {
|
645
|
-
return '';
|
646
|
-
},
|
647
|
-
|
648
|
-
/**
|
649
|
-
* Gets the active error message for this component, if any. This does not trigger validation on its own, it merely
|
650
|
-
* returns any message that the component may already hold.
|
651
|
-
* @return {String} The active error message on the component; if there is no error, an empty string is returned.
|
652
|
-
*/
|
653
|
-
getActiveError : function() {
|
654
|
-
return this.activeError || '';
|
655
|
-
},
|
656
|
-
|
657
|
-
/**
|
658
|
-
* Tells whether the field currently has an active error message. This does not trigger validation on its own, it
|
659
|
-
* merely looks for any message that the component may already hold.
|
660
|
-
* @return {Boolean}
|
661
|
-
*/
|
662
|
-
hasActiveError: function() {
|
663
|
-
return !!this.getActiveError();
|
664
|
-
},
|
665
|
-
|
666
|
-
/**
|
667
|
-
* Sets the active error message to the given string. This replaces the entire error message contents with the given
|
668
|
-
* string. Also see {@link #setActiveErrors} which accepts an Array of messages and formats them according to the
|
669
|
-
* {@link #activeErrorsTpl}. Note that this only updates the error message element's text and attributes, you'll
|
670
|
-
* have to call doComponentLayout to actually update the field's layout to match. If the field extends {@link
|
671
|
-
* Ext.form.field.Base} you should call {@link Ext.form.field.Base#markInvalid markInvalid} instead.
|
672
|
-
* @param {String} msg The error message
|
673
|
-
*/
|
674
|
-
setActiveError: function(msg) {
|
675
|
-
this.setActiveErrors(msg);
|
676
|
-
},
|
677
|
-
|
678
|
-
/**
|
679
|
-
* Gets an Array of any active error messages currently applied to the field. This does not trigger validation on
|
680
|
-
* its own, it merely returns any messages that the component may already hold.
|
681
|
-
* @return {String[]} The active error messages on the component; if there are no errors, an empty Array is
|
682
|
-
* returned.
|
683
|
-
*/
|
684
|
-
getActiveErrors: function() {
|
685
|
-
return this.activeErrors || [];
|
686
|
-
},
|
687
|
-
|
688
|
-
/**
|
689
|
-
* Set the active error message to an Array of error messages. The messages are formatted into a single message
|
690
|
-
* string using the {@link #activeErrorsTpl}. Also see {@link #setActiveError} which allows setting the entire error
|
691
|
-
* contents with a single string. Note that this only updates the error message element's text and attributes,
|
692
|
-
* you'll have to call doComponentLayout to actually update the field's layout to match. If the field extends
|
693
|
-
* {@link Ext.form.field.Base} you should call {@link Ext.form.field.Base#markInvalid markInvalid} instead.
|
694
|
-
* @param {String[]} errors The error messages
|
695
|
-
*/
|
696
|
-
setActiveErrors: function(errors) {
|
697
|
-
errors = Ext.Array.from(errors);
|
698
|
-
this.activeError = errors[0];
|
699
|
-
this.activeErrors = errors;
|
700
|
-
this.activeError = this.getTpl('activeErrorsTpl').apply({errors: errors});
|
701
|
-
this.renderActiveError();
|
702
|
-
},
|
703
|
-
|
704
|
-
/**
|
705
|
-
* Clears the active error message(s). Note that this only clears the error message element's text and attributes,
|
706
|
-
* you'll have to call doComponentLayout to actually update the field's layout to match. If the field extends {@link
|
707
|
-
* Ext.form.field.Base} you should call {@link Ext.form.field.Base#clearInvalid clearInvalid} instead.
|
708
|
-
*/
|
709
|
-
unsetActiveError: function() {
|
710
|
-
delete this.activeError;
|
711
|
-
delete this.activeErrors;
|
712
|
-
this.renderActiveError();
|
713
|
-
},
|
714
|
-
|
715
|
-
/**
|
716
|
-
* @private
|
717
|
-
* Updates the rendered DOM to match the current activeError. This only updates the content and
|
718
|
-
* attributes, you'll have to call doComponentLayout to actually update the display.
|
719
|
-
*/
|
720
|
-
renderActiveError: function() {
|
721
|
-
var me = this,
|
722
|
-
activeError = me.getActiveError(),
|
723
|
-
hasError = !!activeError;
|
724
|
-
|
725
|
-
if (activeError !== me.lastActiveError) {
|
726
|
-
me.fireEvent('errorchange', me, activeError);
|
727
|
-
me.lastActiveError = activeError;
|
728
|
-
}
|
729
|
-
|
730
|
-
if (me.rendered && !me.isDestroyed && !me.preventMark) {
|
731
|
-
// Add/remove invalid class
|
732
|
-
me.el[hasError ? 'addCls' : 'removeCls'](me.invalidCls);
|
733
|
-
|
734
|
-
// Update the aria-invalid attribute
|
735
|
-
me.getActionEl().dom.setAttribute('aria-invalid', hasError);
|
736
|
-
|
737
|
-
// Update the errorEl (There will only be one if msgTarget is 'side' or 'under') with the error message text
|
738
|
-
if (me.errorEl) {
|
739
|
-
me.errorEl.dom.innerHTML = activeError;
|
740
|
-
}
|
741
|
-
}
|
742
|
-
},
|
743
|
-
|
744
|
-
/**
|
745
|
-
* Applies a set of default configuration values to this Labelable instance. For each of the properties in the given
|
746
|
-
* object, check if this component hasOwnProperty that config; if not then it's inheriting a default value from its
|
747
|
-
* prototype and we should apply the default value.
|
748
|
-
* @param {Object} defaults The defaults to apply to the object.
|
749
|
-
*/
|
750
|
-
setFieldDefaults: function(defaults) {
|
751
|
-
var me = this,
|
752
|
-
val, key;
|
753
|
-
|
754
|
-
for (key in defaults) {
|
755
|
-
if (defaults.hasOwnProperty(key)) {
|
756
|
-
val = defaults[key];
|
757
|
-
|
758
|
-
if (!me.hasOwnProperty(key)) {
|
759
|
-
me[key] = val;
|
760
|
-
}
|
761
|
-
}
|
762
|
-
}
|
763
|
-
}
|
764
|
-
});
|