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.
Files changed (507) hide show
  1. data/app/assets/javascripts/extjs-rails.js +95613 -11000
  2. data/lib/extjs-rails/version.rb +1 -1
  3. metadata +2 -509
  4. data/app/assets/javascripts/src/AbstractComponent.js +0 -3290
  5. data/app/assets/javascripts/src/AbstractManager.js +0 -144
  6. data/app/assets/javascripts/src/AbstractPlugin.js +0 -72
  7. data/app/assets/javascripts/src/Action.js +0 -276
  8. data/app/assets/javascripts/src/Ajax.js +0 -99
  9. data/app/assets/javascripts/src/Component.js +0 -1344
  10. data/app/assets/javascripts/src/ComponentLoader.js +0 -202
  11. data/app/assets/javascripts/src/ComponentManager.js +0 -47
  12. data/app/assets/javascripts/src/ComponentQuery.js +0 -521
  13. data/app/assets/javascripts/src/Editor.js +0 -494
  14. data/app/assets/javascripts/src/ElementLoader.js +0 -404
  15. data/app/assets/javascripts/src/FocusManager.js +0 -712
  16. data/app/assets/javascripts/src/Img.js +0 -111
  17. data/app/assets/javascripts/src/Layer.js +0 -543
  18. data/app/assets/javascripts/src/LoadMask.js +0 -432
  19. data/app/assets/javascripts/src/ModelManager.js +0 -186
  20. data/app/assets/javascripts/src/PluginManager.js +0 -110
  21. data/app/assets/javascripts/src/ProgressBar.js +0 -336
  22. data/app/assets/javascripts/src/Shadow.js +0 -233
  23. data/app/assets/javascripts/src/ShadowPool.js +0 -43
  24. data/app/assets/javascripts/src/Template.js +0 -331
  25. data/app/assets/javascripts/src/XTemplate.js +0 -365
  26. data/app/assets/javascripts/src/XTemplateCompiler.js +0 -450
  27. data/app/assets/javascripts/src/XTemplateParser.js +0 -249
  28. data/app/assets/javascripts/src/ZIndexManager.js +0 -519
  29. data/app/assets/javascripts/src/app/Application.js +0 -271
  30. data/app/assets/javascripts/src/app/Controller.js +0 -458
  31. data/app/assets/javascripts/src/app/EventBus.js +0 -112
  32. data/app/assets/javascripts/src/button/Button.js +0 -1483
  33. data/app/assets/javascripts/src/button/Cycle.js +0 -215
  34. data/app/assets/javascripts/src/button/Split.js +0 -99
  35. data/app/assets/javascripts/src/chart/Callout.js +0 -140
  36. data/app/assets/javascripts/src/chart/Chart.js +0 -966
  37. data/app/assets/javascripts/src/chart/Highlight.js +0 -172
  38. data/app/assets/javascripts/src/chart/Label.js +0 -241
  39. data/app/assets/javascripts/src/chart/Legend.js +0 -474
  40. data/app/assets/javascripts/src/chart/LegendItem.js +0 -217
  41. data/app/assets/javascripts/src/chart/Mask.js +0 -230
  42. data/app/assets/javascripts/src/chart/MaskLayer.js +0 -48
  43. data/app/assets/javascripts/src/chart/Navigation.js +0 -79
  44. data/app/assets/javascripts/src/chart/Shape.js +0 -106
  45. data/app/assets/javascripts/src/chart/Tip.js +0 -98
  46. data/app/assets/javascripts/src/chart/TipSurface.js +0 -42
  47. data/app/assets/javascripts/src/chart/axis/Abstract.js +0 -73
  48. data/app/assets/javascripts/src/chart/axis/Axis.js +0 -961
  49. data/app/assets/javascripts/src/chart/axis/Category.js +0 -130
  50. data/app/assets/javascripts/src/chart/axis/Gauge.js +0 -203
  51. data/app/assets/javascripts/src/chart/axis/Numeric.js +0 -235
  52. data/app/assets/javascripts/src/chart/axis/Radial.js +0 -204
  53. data/app/assets/javascripts/src/chart/axis/Time.js +0 -135
  54. data/app/assets/javascripts/src/chart/series/Area.js +0 -803
  55. data/app/assets/javascripts/src/chart/series/Bar.js +0 -853
  56. data/app/assets/javascripts/src/chart/series/Cartesian.js +0 -328
  57. data/app/assets/javascripts/src/chart/series/Column.js +0 -104
  58. data/app/assets/javascripts/src/chart/series/Gauge.js +0 -490
  59. data/app/assets/javascripts/src/chart/series/Line.js +0 -1104
  60. data/app/assets/javascripts/src/chart/series/Pie.js +0 -1072
  61. data/app/assets/javascripts/src/chart/series/Radar.js +0 -440
  62. data/app/assets/javascripts/src/chart/series/Scatter.js +0 -668
  63. data/app/assets/javascripts/src/chart/series/Series.js +0 -443
  64. data/app/assets/javascripts/src/chart/theme/Base.js +0 -175
  65. data/app/assets/javascripts/src/chart/theme/Theme.js +0 -253
  66. data/app/assets/javascripts/src/container/AbstractContainer.js +0 -1062
  67. data/app/assets/javascripts/src/container/ButtonGroup.js +0 -143
  68. data/app/assets/javascripts/src/container/Container.js +0 -212
  69. data/app/assets/javascripts/src/container/DockingContainer.js +0 -265
  70. data/app/assets/javascripts/src/container/Viewport.js +0 -184
  71. data/app/assets/javascripts/src/core/dom/Element.form.js +0 -50
  72. data/app/assets/javascripts/src/core/dom/Element.static-more.js +0 -159
  73. data/app/assets/javascripts/src/core/examples/index.html +0 -321
  74. data/app/assets/javascripts/src/core/examples/index.js +0 -6
  75. data/app/assets/javascripts/src/core/examples/src/Sample/CTO.js +0 -25
  76. data/app/assets/javascripts/src/core/examples/src/Sample/CoolGuy.js +0 -20
  77. data/app/assets/javascripts/src/core/examples/src/Sample/Developer.js +0 -43
  78. data/app/assets/javascripts/src/core/examples/src/Sample/Gun.js +0 -3
  79. data/app/assets/javascripts/src/core/examples/src/Sample/HumanResource.js +0 -23
  80. data/app/assets/javascripts/src/core/examples/src/Sample/Musician.js +0 -20
  81. data/app/assets/javascripts/src/core/examples/src/Sample/Person.js +0 -50
  82. data/app/assets/javascripts/src/core/examples/src/Sample/ability/CanComposeSongs.js +0 -9
  83. data/app/assets/javascripts/src/core/examples/src/Sample/ability/CanPlayGuitar.js +0 -9
  84. data/app/assets/javascripts/src/core/examples/src/Sample/ability/CanSing.js +0 -18
  85. data/app/assets/javascripts/src/core/examples/src/Sample/deadlock/A.js +0 -3
  86. data/app/assets/javascripts/src/core/examples/src/Sample/deadlock/B.js +0 -3
  87. data/app/assets/javascripts/src/core/examples/src/Sample/deadlock/C.js +0 -3
  88. data/app/assets/javascripts/src/core/examples/src/Sample/deadlock/D.js +0 -3
  89. data/app/assets/javascripts/src/core/examples/src/Sample/deadlock/E.js +0 -3
  90. data/app/assets/javascripts/src/core/examples/src/Sample/notdeadlock/A.js +0 -3
  91. data/app/assets/javascripts/src/core/examples/src/Sample/notdeadlock/B.js +0 -4
  92. data/app/assets/javascripts/src/core/examples/src/Sample/notdeadlock/C.js +0 -3
  93. data/app/assets/javascripts/src/core/src/EventManager.js +0 -1167
  94. data/app/assets/javascripts/src/core/src/EventObject.js +0 -883
  95. data/app/assets/javascripts/src/core/src/Ext-more.js +0 -1283
  96. data/app/assets/javascripts/src/core/src/Ext.js +0 -736
  97. data/app/assets/javascripts/src/core/src/Support.js +0 -662
  98. data/app/assets/javascripts/src/core/src/class/Base.js +0 -1085
  99. data/app/assets/javascripts/src/core/src/class/Class.js +0 -676
  100. data/app/assets/javascripts/src/core/src/class/ClassManager.js +0 -1591
  101. data/app/assets/javascripts/src/core/src/class/Loader.js +0 -1423
  102. data/app/assets/javascripts/src/core/src/dom/AbstractElement.alignment.js +0 -173
  103. data/app/assets/javascripts/src/core/src/dom/AbstractElement.insertion.js +0 -193
  104. data/app/assets/javascripts/src/core/src/dom/AbstractElement.js +0 -681
  105. data/app/assets/javascripts/src/core/src/dom/AbstractElement.position.js +0 -356
  106. data/app/assets/javascripts/src/core/src/dom/AbstractElement.static.js +0 -474
  107. data/app/assets/javascripts/src/core/src/dom/AbstractElement.style.js +0 -851
  108. data/app/assets/javascripts/src/core/src/dom/AbstractElement.traversal.js +0 -180
  109. data/app/assets/javascripts/src/core/src/dom/AbstractHelper.js +0 -291
  110. data/app/assets/javascripts/src/core/src/dom/AbstractQuery.js +0 -72
  111. data/app/assets/javascripts/src/core/src/dom/CompositeElement.js +0 -75
  112. data/app/assets/javascripts/src/core/src/dom/CompositeElementLite.js +0 -436
  113. data/app/assets/javascripts/src/core/src/dom/DomQuery-aria.js +0 -1049
  114. data/app/assets/javascripts/src/core/src/env/Browser.js +0 -186
  115. data/app/assets/javascripts/src/core/src/env/FeatureDetector.js +0 -274
  116. data/app/assets/javascripts/src/core/src/env/OS.js +0 -141
  117. data/app/assets/javascripts/src/core/src/lang/Array.js +0 -1205
  118. data/app/assets/javascripts/src/core/src/lang/Date.js +0 -1463
  119. data/app/assets/javascripts/src/core/src/lang/Error.js +0 -326
  120. data/app/assets/javascripts/src/core/src/lang/Function.js +0 -485
  121. data/app/assets/javascripts/src/core/src/lang/Number.js +0 -175
  122. data/app/assets/javascripts/src/core/src/lang/Object.js +0 -606
  123. data/app/assets/javascripts/src/core/src/lang/String.js +0 -333
  124. data/app/assets/javascripts/src/core/src/misc/JSON.js +0 -236
  125. data/app/assets/javascripts/src/core/src/perf/Accumulator.js +0 -244
  126. data/app/assets/javascripts/src/core/src/perf/Monitor.js +0 -197
  127. data/app/assets/javascripts/src/core/src/util/DelayedTask.js +0 -71
  128. data/app/assets/javascripts/src/core/src/util/Event.js +0 -215
  129. data/app/assets/javascripts/src/core/src/util/Format.js +0 -551
  130. data/app/assets/javascripts/src/core/src/util/TaskManager.js +0 -417
  131. data/app/assets/javascripts/src/core/src/version/Version.js +0 -364
  132. data/app/assets/javascripts/src/core/test/unit/README.MD +0 -91
  133. data/app/assets/javascripts/src/core/test/unit/bootstrap.js +0 -39
  134. data/app/assets/javascripts/src/core/test/unit/build/build-data.js +0 -34
  135. data/app/assets/javascripts/src/core/test/unit/build/build.sh +0 -2
  136. data/app/assets/javascripts/src/core/test/unit/data.js +0 -27
  137. data/app/assets/javascripts/src/core/test/unit/index.html +0 -15
  138. data/app/assets/javascripts/src/core/test/unit/other_specs/dom.html +0 -40
  139. data/app/assets/javascripts/src/core/test/unit/other_specs/dom/extjs-api.js +0 -12
  140. data/app/assets/javascripts/src/core/test/unit/other_specs/dom/platform-api.js +0 -134
  141. data/app/assets/javascripts/src/core/test/unit/other_specs/dom/sanity.js +0 -4
  142. data/app/assets/javascripts/src/core/test/unit/other_specs/dom/touch-api-out.js +0 -128
  143. data/app/assets/javascripts/src/core/test/unit/other_specs/dom/touch-api.js +0 -89
  144. data/app/assets/javascripts/src/core/test/unit/other_specs/env/Environment.js +0 -357
  145. data/app/assets/javascripts/src/core/test/unit/resources/APITest.js +0 -37
  146. data/app/assets/javascripts/src/core/test/unit/resources/jsb3.js +0 -14
  147. data/app/assets/javascripts/src/core/test/unit/resources/test-setup.js +0 -137
  148. data/app/assets/javascripts/src/core/test/unit/spec/EventManager.js +0 -629
  149. data/app/assets/javascripts/src/core/test/unit/spec/Ext-mess.backup +0 -198
  150. data/app/assets/javascripts/src/core/test/unit/spec/Ext-more.js +0 -520
  151. data/app/assets/javascripts/src/core/test/unit/spec/Ext.js +0 -1550
  152. data/app/assets/javascripts/src/core/test/unit/spec/Support.js +0 -250
  153. data/app/assets/javascripts/src/core/test/unit/spec/class/Base.js +0 -47
  154. data/app/assets/javascripts/src/core/test/unit/spec/class/Class.js +0 -561
  155. data/app/assets/javascripts/src/core/test/unit/spec/class/ClassManager.js +0 -555
  156. data/app/assets/javascripts/src/core/test/unit/spec/dom/CompositeElementLite.js +0 -409
  157. data/app/assets/javascripts/src/core/test/unit/spec/dom/DomHelper.js +0 -444
  158. data/app/assets/javascripts/src/core/test/unit/spec/dom/Element.insertion.js +0 -342
  159. data/app/assets/javascripts/src/core/test/unit/spec/dom/Element.js +0 -731
  160. data/app/assets/javascripts/src/core/test/unit/spec/dom/Element.static.js +0 -201
  161. data/app/assets/javascripts/src/core/test/unit/spec/dom/Element.style.js +0 -118
  162. data/app/assets/javascripts/src/core/test/unit/spec/dom/Element.traversal.js +0 -336
  163. data/app/assets/javascripts/src/core/test/unit/spec/lang/Array.js +0 -1229
  164. data/app/assets/javascripts/src/core/test/unit/spec/lang/Date.js +0 -697
  165. data/app/assets/javascripts/src/core/test/unit/spec/lang/Error.js +0 -277
  166. data/app/assets/javascripts/src/core/test/unit/spec/lang/Function.js +0 -536
  167. data/app/assets/javascripts/src/core/test/unit/spec/lang/Number.js +0 -323
  168. data/app/assets/javascripts/src/core/test/unit/spec/lang/Object.js +0 -591
  169. data/app/assets/javascripts/src/core/test/unit/spec/lang/String.js +0 -451
  170. data/app/assets/javascripts/src/core/test/unit/spec/misc/JSON.js +0 -252
  171. data/app/assets/javascripts/src/core/test/unit/spec/util/Format.js +0 -521
  172. data/app/assets/javascripts/src/core/test/unit/spec/version/Version.js +0 -148
  173. data/app/assets/javascripts/src/core/test/unit/specs.html +0 -19
  174. data/app/assets/javascripts/src/data/AbstractStore.js +0 -887
  175. data/app/assets/javascripts/src/data/ArrayStore.js +0 -74
  176. data/app/assets/javascripts/src/data/Batch.js +0 -236
  177. data/app/assets/javascripts/src/data/BufferStore.js +0 -13
  178. data/app/assets/javascripts/src/data/Connection.js +0 -969
  179. data/app/assets/javascripts/src/data/DirectStore.js +0 -50
  180. data/app/assets/javascripts/src/data/Errors.js +0 -52
  181. data/app/assets/javascripts/src/data/Field.js +0 -341
  182. data/app/assets/javascripts/src/data/IdGenerator.js +0 -198
  183. data/app/assets/javascripts/src/data/JsonP.js +0 -253
  184. data/app/assets/javascripts/src/data/JsonPStore.js +0 -51
  185. data/app/assets/javascripts/src/data/JsonStore.js +0 -60
  186. data/app/assets/javascripts/src/data/Model.js +0 -1673
  187. data/app/assets/javascripts/src/data/NodeInterface.js +0 -1294
  188. data/app/assets/javascripts/src/data/NodeStore.js +0 -254
  189. data/app/assets/javascripts/src/data/Operation.js +0 -331
  190. data/app/assets/javascripts/src/data/Request.js +0 -40
  191. data/app/assets/javascripts/src/data/ResultSet.js +0 -56
  192. data/app/assets/javascripts/src/data/SequentialIdGenerator.js +0 -61
  193. data/app/assets/javascripts/src/data/SortTypes.js +0 -125
  194. data/app/assets/javascripts/src/data/Store.js +0 -2609
  195. data/app/assets/javascripts/src/data/StoreManager.js +0 -156
  196. data/app/assets/javascripts/src/data/Tree.js +0 -290
  197. data/app/assets/javascripts/src/data/TreeStore.js +0 -655
  198. data/app/assets/javascripts/src/data/Types.js +0 -190
  199. data/app/assets/javascripts/src/data/UuidGenerator.js +0 -215
  200. data/app/assets/javascripts/src/data/XmlStore.js +0 -76
  201. data/app/assets/javascripts/src/data/association/Association.js +0 -243
  202. data/app/assets/javascripts/src/data/association/BelongsTo.js +0 -291
  203. data/app/assets/javascripts/src/data/association/HasMany.js +0 -289
  204. data/app/assets/javascripts/src/data/association/HasOne.js +0 -304
  205. data/app/assets/javascripts/src/data/proxy/Ajax.js +0 -282
  206. data/app/assets/javascripts/src/data/proxy/Client.js +0 -21
  207. data/app/assets/javascripts/src/data/proxy/Direct.js +0 -181
  208. data/app/assets/javascripts/src/data/proxy/JsonP.js +0 -313
  209. data/app/assets/javascripts/src/data/proxy/LocalStorage.js +0 -69
  210. data/app/assets/javascripts/src/data/proxy/Memory.js +0 -156
  211. data/app/assets/javascripts/src/data/proxy/Proxy.js +0 -433
  212. data/app/assets/javascripts/src/data/proxy/Rest.js +0 -173
  213. data/app/assets/javascripts/src/data/proxy/Server.js +0 -460
  214. data/app/assets/javascripts/src/data/proxy/SessionStorage.js +0 -39
  215. data/app/assets/javascripts/src/data/proxy/WebStorage.js +0 -546
  216. data/app/assets/javascripts/src/data/reader/Array.js +0 -68
  217. data/app/assets/javascripts/src/data/reader/Json.js +0 -383
  218. data/app/assets/javascripts/src/data/reader/Reader.js +0 -735
  219. data/app/assets/javascripts/src/data/reader/Xml.js +0 -292
  220. data/app/assets/javascripts/src/data/validations.js +0 -149
  221. data/app/assets/javascripts/src/data/writer/Json.js +0 -81
  222. data/app/assets/javascripts/src/data/writer/Writer.js +0 -147
  223. data/app/assets/javascripts/src/data/writer/Xml.js +0 -88
  224. data/app/assets/javascripts/src/dd/DD.js +0 -300
  225. data/app/assets/javascripts/src/dd/DDProxy.js +0 -204
  226. data/app/assets/javascripts/src/dd/DDTarget.js +0 -171
  227. data/app/assets/javascripts/src/dd/DragDrop.js +0 -1101
  228. data/app/assets/javascripts/src/dd/DragDropManager.js +0 -1264
  229. data/app/assets/javascripts/src/dd/DragSource.js +0 -392
  230. data/app/assets/javascripts/src/dd/DragTracker.js +0 -562
  231. data/app/assets/javascripts/src/dd/DragZone.js +0 -137
  232. data/app/assets/javascripts/src/dd/DropTarget.js +0 -118
  233. data/app/assets/javascripts/src/dd/DropZone.js +0 -254
  234. data/app/assets/javascripts/src/dd/Registry.js +0 -117
  235. data/app/assets/javascripts/src/dd/ScrollManager.js +0 -218
  236. data/app/assets/javascripts/src/dd/StatusProxy.js +0 -179
  237. data/app/assets/javascripts/src/diag/layout/Context.js +0 -523
  238. data/app/assets/javascripts/src/diag/layout/ContextItem.js +0 -179
  239. data/app/assets/javascripts/src/direct/Event.js +0 -35
  240. data/app/assets/javascripts/src/direct/ExceptionEvent.js +0 -16
  241. data/app/assets/javascripts/src/direct/JsonProvider.js +0 -82
  242. data/app/assets/javascripts/src/direct/Manager.js +0 -263
  243. data/app/assets/javascripts/src/direct/PollingProvider.js +0 -156
  244. data/app/assets/javascripts/src/direct/Provider.js +0 -96
  245. data/app/assets/javascripts/src/direct/RemotingEvent.js +0 -24
  246. data/app/assets/javascripts/src/direct/RemotingMethod.js +0 -100
  247. data/app/assets/javascripts/src/direct/RemotingProvider.js +0 -510
  248. data/app/assets/javascripts/src/direct/Transaction.js +0 -41
  249. data/app/assets/javascripts/src/dom/Element.alignment.js +0 -378
  250. data/app/assets/javascripts/src/dom/Element.anim.js +0 -962
  251. data/app/assets/javascripts/src/dom/Element.dd.js +0 -40
  252. data/app/assets/javascripts/src/dom/Element.fx.js +0 -194
  253. data/app/assets/javascripts/src/dom/Element.js +0 -1407
  254. data/app/assets/javascripts/src/dom/Element.position.js +0 -501
  255. data/app/assets/javascripts/src/dom/Element.scroll.js +0 -214
  256. data/app/assets/javascripts/src/dom/Element.style.js +0 -792
  257. data/app/assets/javascripts/src/dom/Element.traversal.js +0 -8
  258. data/app/assets/javascripts/src/dom/Helper.js +0 -466
  259. data/app/assets/javascripts/src/dom/Query.js +0 -1067
  260. data/app/assets/javascripts/src/draw/Color.js +0 -303
  261. data/app/assets/javascripts/src/draw/Component.js +0 -245
  262. data/app/assets/javascripts/src/draw/CompositeSprite.js +0 -299
  263. data/app/assets/javascripts/src/draw/Draw.js +0 -1217
  264. data/app/assets/javascripts/src/draw/Matrix.js +0 -183
  265. data/app/assets/javascripts/src/draw/Sprite.js +0 -554
  266. data/app/assets/javascripts/src/draw/SpriteDD.js +0 -87
  267. data/app/assets/javascripts/src/draw/Surface.js +0 -1001
  268. data/app/assets/javascripts/src/draw/Text.js +0 -175
  269. data/app/assets/javascripts/src/draw/engine/ImageExporter.js +0 -106
  270. data/app/assets/javascripts/src/draw/engine/Svg.js +0 -734
  271. data/app/assets/javascripts/src/draw/engine/SvgExporter.js +0 -280
  272. data/app/assets/javascripts/src/draw/engine/Vml.js +0 -916
  273. data/app/assets/javascripts/src/flash/Component.js +0 -248
  274. data/app/assets/javascripts/src/form/Basic.js +0 -1018
  275. data/app/assets/javascripts/src/form/CheckboxGroup.js +0 -441
  276. data/app/assets/javascripts/src/form/CheckboxManager.js +0 -26
  277. data/app/assets/javascripts/src/form/FieldAncestor.js +0 -210
  278. data/app/assets/javascripts/src/form/FieldContainer.js +0 -290
  279. data/app/assets/javascripts/src/form/FieldSet.js +0 -506
  280. data/app/assets/javascripts/src/form/Label.js +0 -110
  281. data/app/assets/javascripts/src/form/Labelable.js +0 -764
  282. data/app/assets/javascripts/src/form/Panel.js +0 -335
  283. data/app/assets/javascripts/src/form/RadioGroup.js +0 -124
  284. data/app/assets/javascripts/src/form/RadioManager.js +0 -26
  285. data/app/assets/javascripts/src/form/action/Action.js +0 -307
  286. data/app/assets/javascripts/src/form/action/DirectLoad.js +0 -107
  287. data/app/assets/javascripts/src/form/action/DirectSubmit.js +0 -119
  288. data/app/assets/javascripts/src/form/action/Load.js +0 -120
  289. data/app/assets/javascripts/src/form/action/StandardSubmit.js +0 -34
  290. data/app/assets/javascripts/src/form/action/Submit.js +0 -257
  291. data/app/assets/javascripts/src/form/field/Base.js +0 -813
  292. data/app/assets/javascripts/src/form/field/Checkbox.js +0 -505
  293. data/app/assets/javascripts/src/form/field/ComboBox.js +0 -1427
  294. data/app/assets/javascripts/src/form/field/Date.js +0 -578
  295. data/app/assets/javascripts/src/form/field/Display.js +0 -155
  296. data/app/assets/javascripts/src/form/field/Field.js +0 -430
  297. data/app/assets/javascripts/src/form/field/File.js +0 -265
  298. data/app/assets/javascripts/src/form/field/Hidden.js +0 -75
  299. data/app/assets/javascripts/src/form/field/HtmlEditor.js +0 -1439
  300. data/app/assets/javascripts/src/form/field/Number.js +0 -380
  301. data/app/assets/javascripts/src/form/field/Picker.js +0 -321
  302. data/app/assets/javascripts/src/form/field/Radio.js +0 -279
  303. data/app/assets/javascripts/src/form/field/Spinner.js +0 -321
  304. data/app/assets/javascripts/src/form/field/Text.js +0 -727
  305. data/app/assets/javascripts/src/form/field/TextArea.js +0 -228
  306. data/app/assets/javascripts/src/form/field/Time.js +0 -459
  307. data/app/assets/javascripts/src/form/field/Trigger.js +0 -469
  308. data/app/assets/javascripts/src/form/field/VTypes.js +0 -172
  309. data/app/assets/javascripts/src/fx/Anim.js +0 -472
  310. data/app/assets/javascripts/src/fx/Animator.js +0 -410
  311. data/app/assets/javascripts/src/fx/CubicBezier.js +0 -77
  312. data/app/assets/javascripts/src/fx/Easing.js +0 -136
  313. data/app/assets/javascripts/src/fx/Manager.js +0 -353
  314. data/app/assets/javascripts/src/fx/PropertyHandler.js +0 -381
  315. data/app/assets/javascripts/src/fx/Queue.js +0 -123
  316. data/app/assets/javascripts/src/fx/target/Component.js +0 -118
  317. data/app/assets/javascripts/src/fx/target/CompositeElement.js +0 -46
  318. data/app/assets/javascripts/src/fx/target/CompositeElementCSS.js +0 -22
  319. data/app/assets/javascripts/src/fx/target/CompositeSprite.js +0 -34
  320. data/app/assets/javascripts/src/fx/target/Element.js +0 -83
  321. data/app/assets/javascripts/src/fx/target/ElementCSS.js +0 -77
  322. data/app/assets/javascripts/src/fx/target/Sprite.js +0 -128
  323. data/app/assets/javascripts/src/fx/target/Target.js +0 -36
  324. data/app/assets/javascripts/src/grid/CellEditor.js +0 -172
  325. data/app/assets/javascripts/src/grid/ColumnComponentLayout.js +0 -34
  326. data/app/assets/javascripts/src/grid/ColumnLayout.js +0 -201
  327. data/app/assets/javascripts/src/grid/Lockable.js +0 -863
  328. data/app/assets/javascripts/src/grid/LockingView.js +0 -169
  329. data/app/assets/javascripts/src/grid/PagingScroller.js +0 -539
  330. data/app/assets/javascripts/src/grid/Panel.js +0 -393
  331. data/app/assets/javascripts/src/grid/RowEditor.js +0 -731
  332. data/app/assets/javascripts/src/grid/RowNumberer.js +0 -76
  333. data/app/assets/javascripts/src/grid/Scroller.js +0 -5
  334. data/app/assets/javascripts/src/grid/View.js +0 -44
  335. data/app/assets/javascripts/src/grid/ViewDropZone.js +0 -41
  336. data/app/assets/javascripts/src/grid/column/Action.js +0 -318
  337. data/app/assets/javascripts/src/grid/column/Boolean.js +0 -82
  338. data/app/assets/javascripts/src/grid/column/Column.js +0 -835
  339. data/app/assets/javascripts/src/grid/column/Date.js +0 -63
  340. data/app/assets/javascripts/src/grid/column/Number.js +0 -52
  341. data/app/assets/javascripts/src/grid/column/Template.js +0 -58
  342. data/app/assets/javascripts/src/grid/feature/AbstractSummary.js +0 -154
  343. data/app/assets/javascripts/src/grid/feature/Chunking.js +0 -77
  344. data/app/assets/javascripts/src/grid/feature/Feature.js +0 -158
  345. data/app/assets/javascripts/src/grid/feature/Grouping.js +0 -822
  346. data/app/assets/javascripts/src/grid/feature/GroupingSummary.js +0 -243
  347. data/app/assets/javascripts/src/grid/feature/RowBody.js +0 -116
  348. data/app/assets/javascripts/src/grid/feature/RowWrap.js +0 -120
  349. data/app/assets/javascripts/src/grid/feature/Summary.js +0 -167
  350. data/app/assets/javascripts/src/grid/header/Container.js +0 -965
  351. data/app/assets/javascripts/src/grid/header/DragZone.js +0 -69
  352. data/app/assets/javascripts/src/grid/header/DropZone.js +0 -265
  353. data/app/assets/javascripts/src/grid/plugin/CellEditing.js +0 -453
  354. data/app/assets/javascripts/src/grid/plugin/DragDrop.js +0 -254
  355. data/app/assets/javascripts/src/grid/plugin/Editing.js +0 -561
  356. data/app/assets/javascripts/src/grid/plugin/HeaderReorderer.js +0 -49
  357. data/app/assets/javascripts/src/grid/plugin/HeaderResizer.js +0 -292
  358. data/app/assets/javascripts/src/grid/plugin/RowEditing.js +0 -339
  359. data/app/assets/javascripts/src/grid/property/Grid.js +0 -351
  360. data/app/assets/javascripts/src/grid/property/HeaderContainer.js +0 -109
  361. data/app/assets/javascripts/src/grid/property/Property.js +0 -36
  362. data/app/assets/javascripts/src/grid/property/Store.js +0 -141
  363. data/app/assets/javascripts/src/layout/ClassList.js +0 -90
  364. data/app/assets/javascripts/src/layout/Context.js +0 -1232
  365. data/app/assets/javascripts/src/layout/ContextItem.js +0 -1470
  366. data/app/assets/javascripts/src/layout/Layout.js +0 -761
  367. data/app/assets/javascripts/src/layout/component/Auto.js +0 -220
  368. data/app/assets/javascripts/src/layout/component/Body.js +0 -80
  369. data/app/assets/javascripts/src/layout/component/BoundList.js +0 -95
  370. data/app/assets/javascripts/src/layout/component/Button.js +0 -261
  371. data/app/assets/javascripts/src/layout/component/Component.js +0 -427
  372. data/app/assets/javascripts/src/layout/component/Dock.js +0 -1132
  373. data/app/assets/javascripts/src/layout/component/Draw.js +0 -79
  374. data/app/assets/javascripts/src/layout/component/FieldSet.js +0 -62
  375. data/app/assets/javascripts/src/layout/component/ProgressBar.js +0 -54
  376. data/app/assets/javascripts/src/layout/component/Tab.js +0 -23
  377. data/app/assets/javascripts/src/layout/component/field/ComboBox.js +0 -52
  378. data/app/assets/javascripts/src/layout/component/field/Field.js +0 -372
  379. data/app/assets/javascripts/src/layout/component/field/FieldContainer.js +0 -48
  380. data/app/assets/javascripts/src/layout/component/field/HtmlEditor.js +0 -54
  381. data/app/assets/javascripts/src/layout/component/field/Slider.js +0 -58
  382. data/app/assets/javascripts/src/layout/component/field/Text.js +0 -75
  383. data/app/assets/javascripts/src/layout/component/field/TextArea.js +0 -51
  384. data/app/assets/javascripts/src/layout/component/field/Trigger.js +0 -132
  385. data/app/assets/javascripts/src/layout/container/Absolute.js +0 -121
  386. data/app/assets/javascripts/src/layout/container/Accordion.js +0 -308
  387. data/app/assets/javascripts/src/layout/container/Anchor.js +0 -403
  388. data/app/assets/javascripts/src/layout/container/Auto.js +0 -70
  389. data/app/assets/javascripts/src/layout/container/Border-old-js +0 -1079
  390. data/app/assets/javascripts/src/layout/container/Border.js +0 -816
  391. data/app/assets/javascripts/src/layout/container/Box.js +0 -929
  392. data/app/assets/javascripts/src/layout/container/Card.js +0 -361
  393. data/app/assets/javascripts/src/layout/container/CheckboxGroup.js +0 -376
  394. data/app/assets/javascripts/src/layout/container/Column.js +0 -234
  395. data/app/assets/javascripts/src/layout/container/Container.js +0 -961
  396. data/app/assets/javascripts/src/layout/container/Editor.js +0 -74
  397. data/app/assets/javascripts/src/layout/container/Fit.js +0 -287
  398. data/app/assets/javascripts/src/layout/container/Form.js +0 -157
  399. data/app/assets/javascripts/src/layout/container/HBox.js +0 -134
  400. data/app/assets/javascripts/src/layout/container/Table.js +0 -412
  401. data/app/assets/javascripts/src/layout/container/VBox.js +0 -139
  402. data/app/assets/javascripts/src/layout/container/boxOverflow/Menu.js +0 -365
  403. data/app/assets/javascripts/src/layout/container/boxOverflow/None.js +0 -83
  404. data/app/assets/javascripts/src/layout/container/boxOverflow/Scroller.js +0 -475
  405. data/app/assets/javascripts/src/menu/CheckItem.js +0 -169
  406. data/app/assets/javascripts/src/menu/ColorPicker.js +0 -110
  407. data/app/assets/javascripts/src/menu/DatePicker.js +0 -100
  408. data/app/assets/javascripts/src/menu/Item.js +0 -553
  409. data/app/assets/javascripts/src/menu/KeyNav.js +0 -134
  410. data/app/assets/javascripts/src/menu/Manager.js +0 -219
  411. data/app/assets/javascripts/src/menu/Menu.js +0 -579
  412. data/app/assets/javascripts/src/menu/Separator.js +0 -126
  413. data/app/assets/javascripts/src/panel/AbstractPanel.js +0 -323
  414. data/app/assets/javascripts/src/panel/DD.js +0 -99
  415. data/app/assets/javascripts/src/panel/Header.js +0 -518
  416. data/app/assets/javascripts/src/panel/Panel.js +0 -2150
  417. data/app/assets/javascripts/src/panel/Proxy.js +0 -131
  418. data/app/assets/javascripts/src/panel/Table.js +0 -1018
  419. data/app/assets/javascripts/src/panel/Tool.js +0 -304
  420. data/app/assets/javascripts/src/picker/Color.js +0 -219
  421. data/app/assets/javascripts/src/picker/Date.js +0 -1140
  422. data/app/assets/javascripts/src/picker/Month.js +0 -490
  423. data/app/assets/javascripts/src/picker/Time.js +0 -165
  424. data/app/assets/javascripts/src/resizer/BorderSplitter.js +0 -22
  425. data/app/assets/javascripts/src/resizer/BorderSplitterTracker.js +0 -210
  426. data/app/assets/javascripts/src/resizer/Handle.js +0 -29
  427. data/app/assets/javascripts/src/resizer/ResizeTracker.js +0 -346
  428. data/app/assets/javascripts/src/resizer/Resizer.js +0 -477
  429. data/app/assets/javascripts/src/resizer/Splitter.js +0 -242
  430. data/app/assets/javascripts/src/resizer/SplitterTracker.js +0 -230
  431. data/app/assets/javascripts/src/selection/CellModel.js +0 -395
  432. data/app/assets/javascripts/src/selection/CheckboxModel.js +0 -234
  433. data/app/assets/javascripts/src/selection/DataViewModel.js +0 -160
  434. data/app/assets/javascripts/src/selection/Model.js +0 -646
  435. data/app/assets/javascripts/src/selection/RowModel.js +0 -499
  436. data/app/assets/javascripts/src/selection/TreeModel.js +0 -78
  437. data/app/assets/javascripts/src/slider/Multi.js +0 -835
  438. data/app/assets/javascripts/src/slider/Single.js +0 -56
  439. data/app/assets/javascripts/src/slider/Thumb.js +0 -259
  440. data/app/assets/javascripts/src/slider/Tip.js +0 -130
  441. data/app/assets/javascripts/src/state/CookieProvider.js +0 -120
  442. data/app/assets/javascripts/src/state/LocalStorageProvider.js +0 -72
  443. data/app/assets/javascripts/src/state/Manager.js +0 -70
  444. data/app/assets/javascripts/src/state/Provider.js +0 -182
  445. data/app/assets/javascripts/src/state/Stateful.js +0 -364
  446. data/app/assets/javascripts/src/tab/Bar.js +0 -258
  447. data/app/assets/javascripts/src/tab/Panel.js +0 -654
  448. data/app/assets/javascripts/src/tab/Tab.js +0 -358
  449. data/app/assets/javascripts/src/tail.js +0 -10
  450. data/app/assets/javascripts/src/tip/QuickTip.js +0 -335
  451. data/app/assets/javascripts/src/tip/QuickTipManager.js +0 -239
  452. data/app/assets/javascripts/src/tip/Tip.js +0 -160
  453. data/app/assets/javascripts/src/tip/ToolTip.js +0 -691
  454. data/app/assets/javascripts/src/toolbar/Fill.js +0 -28
  455. data/app/assets/javascripts/src/toolbar/Item.js +0 -16
  456. data/app/assets/javascripts/src/toolbar/Paging.js +0 -600
  457. data/app/assets/javascripts/src/toolbar/Separator.js +0 -23
  458. data/app/assets/javascripts/src/toolbar/Spacer.js +0 -33
  459. data/app/assets/javascripts/src/toolbar/TextItem.js +0 -57
  460. data/app/assets/javascripts/src/toolbar/Toolbar-legacy.js +0 -123
  461. data/app/assets/javascripts/src/toolbar/Toolbar.js +0 -447
  462. data/app/assets/javascripts/src/tree/Column.js +0 -90
  463. data/app/assets/javascripts/src/tree/Panel.js +0 -505
  464. data/app/assets/javascripts/src/tree/View.js +0 -658
  465. data/app/assets/javascripts/src/tree/ViewDragZone.js +0 -49
  466. data/app/assets/javascripts/src/tree/ViewDropZone.js +0 -287
  467. data/app/assets/javascripts/src/tree/plugin/TreeViewDragDrop.js +0 -244
  468. data/app/assets/javascripts/src/util/AbstractMixedCollection.js +0 -772
  469. data/app/assets/javascripts/src/util/Animate.js +0 -426
  470. data/app/assets/javascripts/src/util/Bindable.js +0 -102
  471. data/app/assets/javascripts/src/util/CSS.js +0 -185
  472. data/app/assets/javascripts/src/util/ClickRepeater.js +0 -238
  473. data/app/assets/javascripts/src/util/ComponentDragger.js +0 -126
  474. data/app/assets/javascripts/src/util/Cookies.js +0 -91
  475. data/app/assets/javascripts/src/util/ElementContainer.js +0 -293
  476. data/app/assets/javascripts/src/util/Filter.js +0 -159
  477. data/app/assets/javascripts/src/util/Floating.js +0 -321
  478. data/app/assets/javascripts/src/util/Grouper.js +0 -26
  479. data/app/assets/javascripts/src/util/HashMap.js +0 -356
  480. data/app/assets/javascripts/src/util/History.js +0 -285
  481. data/app/assets/javascripts/src/util/Inflector.js +0 -297
  482. data/app/assets/javascripts/src/util/KeyMap.js +0 -427
  483. data/app/assets/javascripts/src/util/KeyNav.js +0 -239
  484. data/app/assets/javascripts/src/util/LruCache.js +0 -257
  485. data/app/assets/javascripts/src/util/Memento.js +0 -131
  486. data/app/assets/javascripts/src/util/MixedCollection.js +0 -239
  487. data/app/assets/javascripts/src/util/Observable.js +0 -1003
  488. data/app/assets/javascripts/src/util/Offset.js +0 -60
  489. data/app/assets/javascripts/src/util/Point.js +0 -93
  490. data/app/assets/javascripts/src/util/ProtoElement.js +0 -205
  491. data/app/assets/javascripts/src/util/Queue.js +0 -76
  492. data/app/assets/javascripts/src/util/Region.js +0 -388
  493. data/app/assets/javascripts/src/util/Renderable.js +0 -1079
  494. data/app/assets/javascripts/src/util/Sortable.js +0 -248
  495. data/app/assets/javascripts/src/util/Sorter.js +0 -179
  496. data/app/assets/javascripts/src/util/TextMetrics.js +0 -148
  497. data/app/assets/javascripts/src/view/AbstractView.js +0 -1103
  498. data/app/assets/javascripts/src/view/BoundList.js +0 -207
  499. data/app/assets/javascripts/src/view/BoundListKeyNav.js +0 -92
  500. data/app/assets/javascripts/src/view/DragZone.js +0 -106
  501. data/app/assets/javascripts/src/view/DropZone.js +0 -240
  502. data/app/assets/javascripts/src/view/Table.js +0 -1229
  503. data/app/assets/javascripts/src/view/TableChunker.js +0 -139
  504. data/app/assets/javascripts/src/view/View.js +0 -636
  505. data/app/assets/javascripts/src/window/MessageBox.js +0 -880
  506. data/app/assets/javascripts/src/window/Window-legacy.js +0 -56
  507. 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
- });