extjs-rails 4.1.0.alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. data/.gitignore +18 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +36 -0
  4. data/README.md +29 -0
  5. data/Rakefile +2 -0
  6. data/app/assets/javascripts/extjs-rails/extjs-rails.js +1 -0
  7. data/app/assets/javascripts/extjs-rails/index.js.erb +9 -0
  8. data/app/assets/javascripts/extjs-rails/sdk.jsb3 +2017 -0
  9. data/app/assets/javascripts/extjs-rails/src/AbstractComponent.js +3290 -0
  10. data/app/assets/javascripts/extjs-rails/src/AbstractManager.js +144 -0
  11. data/app/assets/javascripts/extjs-rails/src/AbstractPlugin.js +72 -0
  12. data/app/assets/javascripts/extjs-rails/src/Action.js +276 -0
  13. data/app/assets/javascripts/extjs-rails/src/Ajax.js +99 -0
  14. data/app/assets/javascripts/extjs-rails/src/Component.js +1344 -0
  15. data/app/assets/javascripts/extjs-rails/src/ComponentLoader.js +202 -0
  16. data/app/assets/javascripts/extjs-rails/src/ComponentManager.js +47 -0
  17. data/app/assets/javascripts/extjs-rails/src/ComponentQuery.js +521 -0
  18. data/app/assets/javascripts/extjs-rails/src/Editor.js +494 -0
  19. data/app/assets/javascripts/extjs-rails/src/ElementLoader.js +404 -0
  20. data/app/assets/javascripts/extjs-rails/src/FocusManager.js +712 -0
  21. data/app/assets/javascripts/extjs-rails/src/Img.js +111 -0
  22. data/app/assets/javascripts/extjs-rails/src/Layer.js +543 -0
  23. data/app/assets/javascripts/extjs-rails/src/LoadMask.js +432 -0
  24. data/app/assets/javascripts/extjs-rails/src/ModelManager.js +186 -0
  25. data/app/assets/javascripts/extjs-rails/src/PluginManager.js +110 -0
  26. data/app/assets/javascripts/extjs-rails/src/ProgressBar.js +336 -0
  27. data/app/assets/javascripts/extjs-rails/src/Shadow.js +233 -0
  28. data/app/assets/javascripts/extjs-rails/src/ShadowPool.js +43 -0
  29. data/app/assets/javascripts/extjs-rails/src/Template.js +331 -0
  30. data/app/assets/javascripts/extjs-rails/src/XTemplate.js +365 -0
  31. data/app/assets/javascripts/extjs-rails/src/XTemplateCompiler.js +450 -0
  32. data/app/assets/javascripts/extjs-rails/src/XTemplateParser.js +249 -0
  33. data/app/assets/javascripts/extjs-rails/src/ZIndexManager.js +519 -0
  34. data/app/assets/javascripts/extjs-rails/src/app/Application.js +271 -0
  35. data/app/assets/javascripts/extjs-rails/src/app/Controller.js +458 -0
  36. data/app/assets/javascripts/extjs-rails/src/app/EventBus.js +112 -0
  37. data/app/assets/javascripts/extjs-rails/src/button/Button.js +1483 -0
  38. data/app/assets/javascripts/extjs-rails/src/button/Cycle.js +215 -0
  39. data/app/assets/javascripts/extjs-rails/src/button/Split.js +99 -0
  40. data/app/assets/javascripts/extjs-rails/src/chart/Callout.js +140 -0
  41. data/app/assets/javascripts/extjs-rails/src/chart/Chart.js +966 -0
  42. data/app/assets/javascripts/extjs-rails/src/chart/Highlight.js +172 -0
  43. data/app/assets/javascripts/extjs-rails/src/chart/Label.js +241 -0
  44. data/app/assets/javascripts/extjs-rails/src/chart/Legend.js +474 -0
  45. data/app/assets/javascripts/extjs-rails/src/chart/LegendItem.js +217 -0
  46. data/app/assets/javascripts/extjs-rails/src/chart/Mask.js +230 -0
  47. data/app/assets/javascripts/extjs-rails/src/chart/MaskLayer.js +48 -0
  48. data/app/assets/javascripts/extjs-rails/src/chart/Navigation.js +79 -0
  49. data/app/assets/javascripts/extjs-rails/src/chart/Shape.js +106 -0
  50. data/app/assets/javascripts/extjs-rails/src/chart/Tip.js +98 -0
  51. data/app/assets/javascripts/extjs-rails/src/chart/TipSurface.js +42 -0
  52. data/app/assets/javascripts/extjs-rails/src/chart/axis/Abstract.js +73 -0
  53. data/app/assets/javascripts/extjs-rails/src/chart/axis/Axis.js +961 -0
  54. data/app/assets/javascripts/extjs-rails/src/chart/axis/Category.js +130 -0
  55. data/app/assets/javascripts/extjs-rails/src/chart/axis/Gauge.js +203 -0
  56. data/app/assets/javascripts/extjs-rails/src/chart/axis/Numeric.js +235 -0
  57. data/app/assets/javascripts/extjs-rails/src/chart/axis/Radial.js +204 -0
  58. data/app/assets/javascripts/extjs-rails/src/chart/axis/Time.js +135 -0
  59. data/app/assets/javascripts/extjs-rails/src/chart/series/Area.js +803 -0
  60. data/app/assets/javascripts/extjs-rails/src/chart/series/Bar.js +853 -0
  61. data/app/assets/javascripts/extjs-rails/src/chart/series/Cartesian.js +328 -0
  62. data/app/assets/javascripts/extjs-rails/src/chart/series/Column.js +104 -0
  63. data/app/assets/javascripts/extjs-rails/src/chart/series/Gauge.js +490 -0
  64. data/app/assets/javascripts/extjs-rails/src/chart/series/Line.js +1104 -0
  65. data/app/assets/javascripts/extjs-rails/src/chart/series/Pie.js +1072 -0
  66. data/app/assets/javascripts/extjs-rails/src/chart/series/Radar.js +440 -0
  67. data/app/assets/javascripts/extjs-rails/src/chart/series/Scatter.js +668 -0
  68. data/app/assets/javascripts/extjs-rails/src/chart/series/Series.js +443 -0
  69. data/app/assets/javascripts/extjs-rails/src/chart/theme/Base.js +175 -0
  70. data/app/assets/javascripts/extjs-rails/src/chart/theme/Theme.js +253 -0
  71. data/app/assets/javascripts/extjs-rails/src/container/AbstractContainer.js +1062 -0
  72. data/app/assets/javascripts/extjs-rails/src/container/ButtonGroup.js +143 -0
  73. data/app/assets/javascripts/extjs-rails/src/container/Container.js +212 -0
  74. data/app/assets/javascripts/extjs-rails/src/container/DockingContainer.js +265 -0
  75. data/app/assets/javascripts/extjs-rails/src/container/Viewport.js +184 -0
  76. data/app/assets/javascripts/extjs-rails/src/core/dom/Element.form.js +50 -0
  77. data/app/assets/javascripts/extjs-rails/src/core/dom/Element.static-more.js +159 -0
  78. data/app/assets/javascripts/extjs-rails/src/core/examples/index.html +321 -0
  79. data/app/assets/javascripts/extjs-rails/src/core/examples/index.js +6 -0
  80. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/CTO.js +25 -0
  81. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/CoolGuy.js +20 -0
  82. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Developer.js +43 -0
  83. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Gun.js +3 -0
  84. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/HumanResource.js +23 -0
  85. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Musician.js +20 -0
  86. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Person.js +50 -0
  87. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/ability/CanComposeSongs.js +9 -0
  88. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/ability/CanPlayGuitar.js +9 -0
  89. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/ability/CanSing.js +18 -0
  90. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/A.js +3 -0
  91. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/B.js +3 -0
  92. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/C.js +3 -0
  93. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/D.js +3 -0
  94. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/E.js +3 -0
  95. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/notdeadlock/A.js +3 -0
  96. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/notdeadlock/B.js +4 -0
  97. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/notdeadlock/C.js +3 -0
  98. data/app/assets/javascripts/extjs-rails/src/core/src/EventManager.js +1167 -0
  99. data/app/assets/javascripts/extjs-rails/src/core/src/EventObject.js +883 -0
  100. data/app/assets/javascripts/extjs-rails/src/core/src/Ext-more.js +1283 -0
  101. data/app/assets/javascripts/extjs-rails/src/core/src/Ext.js +736 -0
  102. data/app/assets/javascripts/extjs-rails/src/core/src/Support.js +662 -0
  103. data/app/assets/javascripts/extjs-rails/src/core/src/class/Base.js +1085 -0
  104. data/app/assets/javascripts/extjs-rails/src/core/src/class/Class.js +676 -0
  105. data/app/assets/javascripts/extjs-rails/src/core/src/class/ClassManager.js +1591 -0
  106. data/app/assets/javascripts/extjs-rails/src/core/src/class/Loader.js +1423 -0
  107. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.alignment.js +173 -0
  108. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.insertion.js +193 -0
  109. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.js +681 -0
  110. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.position.js +356 -0
  111. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.static.js +474 -0
  112. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.style.js +851 -0
  113. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.traversal.js +180 -0
  114. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractHelper.js +291 -0
  115. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractQuery.js +72 -0
  116. data/app/assets/javascripts/extjs-rails/src/core/src/dom/CompositeElement.js +75 -0
  117. data/app/assets/javascripts/extjs-rails/src/core/src/dom/CompositeElementLite.js +436 -0
  118. data/app/assets/javascripts/extjs-rails/src/core/src/dom/DomQuery-aria.js +1049 -0
  119. data/app/assets/javascripts/extjs-rails/src/core/src/env/Browser.js +186 -0
  120. data/app/assets/javascripts/extjs-rails/src/core/src/env/FeatureDetector.js +274 -0
  121. data/app/assets/javascripts/extjs-rails/src/core/src/env/OS.js +141 -0
  122. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Array.js +1205 -0
  123. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Date.js +1463 -0
  124. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Error.js +326 -0
  125. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Function.js +485 -0
  126. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Number.js +175 -0
  127. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Object.js +606 -0
  128. data/app/assets/javascripts/extjs-rails/src/core/src/lang/String.js +333 -0
  129. data/app/assets/javascripts/extjs-rails/src/core/src/misc/JSON.js +236 -0
  130. data/app/assets/javascripts/extjs-rails/src/core/src/perf/Accumulator.js +244 -0
  131. data/app/assets/javascripts/extjs-rails/src/core/src/perf/Monitor.js +197 -0
  132. data/app/assets/javascripts/extjs-rails/src/core/src/util/DelayedTask.js +71 -0
  133. data/app/assets/javascripts/extjs-rails/src/core/src/util/Event.js +215 -0
  134. data/app/assets/javascripts/extjs-rails/src/core/src/util/Format.js +551 -0
  135. data/app/assets/javascripts/extjs-rails/src/core/src/util/TaskManager.js +417 -0
  136. data/app/assets/javascripts/extjs-rails/src/core/src/version/Version.js +364 -0
  137. data/app/assets/javascripts/extjs-rails/src/core/test/unit/README.MD +91 -0
  138. data/app/assets/javascripts/extjs-rails/src/core/test/unit/bootstrap.js +39 -0
  139. data/app/assets/javascripts/extjs-rails/src/core/test/unit/build/build-data.js +34 -0
  140. data/app/assets/javascripts/extjs-rails/src/core/test/unit/build/build.sh +2 -0
  141. data/app/assets/javascripts/extjs-rails/src/core/test/unit/data.js +27 -0
  142. data/app/assets/javascripts/extjs-rails/src/core/test/unit/index.html +15 -0
  143. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom.html +40 -0
  144. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/extjs-api.js +12 -0
  145. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/platform-api.js +134 -0
  146. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/sanity.js +4 -0
  147. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/touch-api-out.js +128 -0
  148. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/touch-api.js +89 -0
  149. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/env/Environment.js +357 -0
  150. data/app/assets/javascripts/extjs-rails/src/core/test/unit/resources/APITest.js +37 -0
  151. data/app/assets/javascripts/extjs-rails/src/core/test/unit/resources/jsb3.js +14 -0
  152. data/app/assets/javascripts/extjs-rails/src/core/test/unit/resources/test-setup.js +137 -0
  153. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/EventManager.js +629 -0
  154. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Ext-mess.backup +198 -0
  155. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Ext-more.js +520 -0
  156. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Ext.js +1550 -0
  157. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Support.js +250 -0
  158. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/class/Base.js +47 -0
  159. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/class/Class.js +561 -0
  160. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/class/ClassManager.js +555 -0
  161. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/CompositeElementLite.js +409 -0
  162. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/DomHelper.js +444 -0
  163. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.insertion.js +342 -0
  164. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.js +731 -0
  165. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.static.js +201 -0
  166. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.style.js +118 -0
  167. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.traversal.js +336 -0
  168. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Array.js +1229 -0
  169. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Date.js +697 -0
  170. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Error.js +277 -0
  171. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Function.js +536 -0
  172. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Number.js +323 -0
  173. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Object.js +591 -0
  174. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/String.js +451 -0
  175. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/misc/JSON.js +252 -0
  176. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/util/Format.js +521 -0
  177. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/version/Version.js +148 -0
  178. data/app/assets/javascripts/extjs-rails/src/core/test/unit/specs.html +19 -0
  179. data/app/assets/javascripts/extjs-rails/src/data/AbstractStore.js +887 -0
  180. data/app/assets/javascripts/extjs-rails/src/data/ArrayStore.js +74 -0
  181. data/app/assets/javascripts/extjs-rails/src/data/Batch.js +236 -0
  182. data/app/assets/javascripts/extjs-rails/src/data/BufferStore.js +13 -0
  183. data/app/assets/javascripts/extjs-rails/src/data/Connection.js +969 -0
  184. data/app/assets/javascripts/extjs-rails/src/data/DirectStore.js +50 -0
  185. data/app/assets/javascripts/extjs-rails/src/data/Errors.js +52 -0
  186. data/app/assets/javascripts/extjs-rails/src/data/Field.js +341 -0
  187. data/app/assets/javascripts/extjs-rails/src/data/IdGenerator.js +198 -0
  188. data/app/assets/javascripts/extjs-rails/src/data/JsonP.js +253 -0
  189. data/app/assets/javascripts/extjs-rails/src/data/JsonPStore.js +51 -0
  190. data/app/assets/javascripts/extjs-rails/src/data/JsonStore.js +60 -0
  191. data/app/assets/javascripts/extjs-rails/src/data/Model.js +1673 -0
  192. data/app/assets/javascripts/extjs-rails/src/data/NodeInterface.js +1294 -0
  193. data/app/assets/javascripts/extjs-rails/src/data/NodeStore.js +254 -0
  194. data/app/assets/javascripts/extjs-rails/src/data/Operation.js +331 -0
  195. data/app/assets/javascripts/extjs-rails/src/data/Request.js +40 -0
  196. data/app/assets/javascripts/extjs-rails/src/data/ResultSet.js +56 -0
  197. data/app/assets/javascripts/extjs-rails/src/data/SequentialIdGenerator.js +61 -0
  198. data/app/assets/javascripts/extjs-rails/src/data/SortTypes.js +125 -0
  199. data/app/assets/javascripts/extjs-rails/src/data/Store.js +2609 -0
  200. data/app/assets/javascripts/extjs-rails/src/data/StoreManager.js +156 -0
  201. data/app/assets/javascripts/extjs-rails/src/data/Tree.js +290 -0
  202. data/app/assets/javascripts/extjs-rails/src/data/TreeStore.js +655 -0
  203. data/app/assets/javascripts/extjs-rails/src/data/Types.js +190 -0
  204. data/app/assets/javascripts/extjs-rails/src/data/UuidGenerator.js +215 -0
  205. data/app/assets/javascripts/extjs-rails/src/data/XmlStore.js +76 -0
  206. data/app/assets/javascripts/extjs-rails/src/data/association/Association.js +243 -0
  207. data/app/assets/javascripts/extjs-rails/src/data/association/BelongsTo.js +291 -0
  208. data/app/assets/javascripts/extjs-rails/src/data/association/HasMany.js +289 -0
  209. data/app/assets/javascripts/extjs-rails/src/data/association/HasOne.js +304 -0
  210. data/app/assets/javascripts/extjs-rails/src/data/proxy/Ajax.js +282 -0
  211. data/app/assets/javascripts/extjs-rails/src/data/proxy/Client.js +21 -0
  212. data/app/assets/javascripts/extjs-rails/src/data/proxy/Direct.js +181 -0
  213. data/app/assets/javascripts/extjs-rails/src/data/proxy/JsonP.js +313 -0
  214. data/app/assets/javascripts/extjs-rails/src/data/proxy/LocalStorage.js +69 -0
  215. data/app/assets/javascripts/extjs-rails/src/data/proxy/Memory.js +156 -0
  216. data/app/assets/javascripts/extjs-rails/src/data/proxy/Proxy.js +433 -0
  217. data/app/assets/javascripts/extjs-rails/src/data/proxy/Rest.js +173 -0
  218. data/app/assets/javascripts/extjs-rails/src/data/proxy/Server.js +460 -0
  219. data/app/assets/javascripts/extjs-rails/src/data/proxy/SessionStorage.js +39 -0
  220. data/app/assets/javascripts/extjs-rails/src/data/proxy/WebStorage.js +546 -0
  221. data/app/assets/javascripts/extjs-rails/src/data/reader/Array.js +68 -0
  222. data/app/assets/javascripts/extjs-rails/src/data/reader/Json.js +383 -0
  223. data/app/assets/javascripts/extjs-rails/src/data/reader/Reader.js +735 -0
  224. data/app/assets/javascripts/extjs-rails/src/data/reader/Xml.js +292 -0
  225. data/app/assets/javascripts/extjs-rails/src/data/validations.js +149 -0
  226. data/app/assets/javascripts/extjs-rails/src/data/writer/Json.js +81 -0
  227. data/app/assets/javascripts/extjs-rails/src/data/writer/Writer.js +147 -0
  228. data/app/assets/javascripts/extjs-rails/src/data/writer/Xml.js +88 -0
  229. data/app/assets/javascripts/extjs-rails/src/dd/DD.js +300 -0
  230. data/app/assets/javascripts/extjs-rails/src/dd/DDProxy.js +204 -0
  231. data/app/assets/javascripts/extjs-rails/src/dd/DDTarget.js +171 -0
  232. data/app/assets/javascripts/extjs-rails/src/dd/DragDrop.js +1101 -0
  233. data/app/assets/javascripts/extjs-rails/src/dd/DragDropManager.js +1264 -0
  234. data/app/assets/javascripts/extjs-rails/src/dd/DragSource.js +392 -0
  235. data/app/assets/javascripts/extjs-rails/src/dd/DragTracker.js +562 -0
  236. data/app/assets/javascripts/extjs-rails/src/dd/DragZone.js +137 -0
  237. data/app/assets/javascripts/extjs-rails/src/dd/DropTarget.js +118 -0
  238. data/app/assets/javascripts/extjs-rails/src/dd/DropZone.js +254 -0
  239. data/app/assets/javascripts/extjs-rails/src/dd/Registry.js +117 -0
  240. data/app/assets/javascripts/extjs-rails/src/dd/ScrollManager.js +218 -0
  241. data/app/assets/javascripts/extjs-rails/src/dd/StatusProxy.js +179 -0
  242. data/app/assets/javascripts/extjs-rails/src/diag/layout/Context.js +523 -0
  243. data/app/assets/javascripts/extjs-rails/src/diag/layout/ContextItem.js +179 -0
  244. data/app/assets/javascripts/extjs-rails/src/direct/Event.js +35 -0
  245. data/app/assets/javascripts/extjs-rails/src/direct/ExceptionEvent.js +16 -0
  246. data/app/assets/javascripts/extjs-rails/src/direct/JsonProvider.js +82 -0
  247. data/app/assets/javascripts/extjs-rails/src/direct/Manager.js +263 -0
  248. data/app/assets/javascripts/extjs-rails/src/direct/PollingProvider.js +156 -0
  249. data/app/assets/javascripts/extjs-rails/src/direct/Provider.js +96 -0
  250. data/app/assets/javascripts/extjs-rails/src/direct/RemotingEvent.js +24 -0
  251. data/app/assets/javascripts/extjs-rails/src/direct/RemotingMethod.js +100 -0
  252. data/app/assets/javascripts/extjs-rails/src/direct/RemotingProvider.js +510 -0
  253. data/app/assets/javascripts/extjs-rails/src/direct/Transaction.js +41 -0
  254. data/app/assets/javascripts/extjs-rails/src/dom/Element.alignment.js +378 -0
  255. data/app/assets/javascripts/extjs-rails/src/dom/Element.anim.js +962 -0
  256. data/app/assets/javascripts/extjs-rails/src/dom/Element.dd.js +40 -0
  257. data/app/assets/javascripts/extjs-rails/src/dom/Element.fx.js +194 -0
  258. data/app/assets/javascripts/extjs-rails/src/dom/Element.js +1407 -0
  259. data/app/assets/javascripts/extjs-rails/src/dom/Element.position.js +501 -0
  260. data/app/assets/javascripts/extjs-rails/src/dom/Element.scroll.js +214 -0
  261. data/app/assets/javascripts/extjs-rails/src/dom/Element.style.js +792 -0
  262. data/app/assets/javascripts/extjs-rails/src/dom/Element.traversal.js +8 -0
  263. data/app/assets/javascripts/extjs-rails/src/dom/Helper.js +466 -0
  264. data/app/assets/javascripts/extjs-rails/src/dom/Query.js +1067 -0
  265. data/app/assets/javascripts/extjs-rails/src/draw/Color.js +303 -0
  266. data/app/assets/javascripts/extjs-rails/src/draw/Component.js +245 -0
  267. data/app/assets/javascripts/extjs-rails/src/draw/CompositeSprite.js +299 -0
  268. data/app/assets/javascripts/extjs-rails/src/draw/Draw.js +1217 -0
  269. data/app/assets/javascripts/extjs-rails/src/draw/Matrix.js +183 -0
  270. data/app/assets/javascripts/extjs-rails/src/draw/Sprite.js +554 -0
  271. data/app/assets/javascripts/extjs-rails/src/draw/SpriteDD.js +87 -0
  272. data/app/assets/javascripts/extjs-rails/src/draw/Surface.js +1001 -0
  273. data/app/assets/javascripts/extjs-rails/src/draw/Text.js +175 -0
  274. data/app/assets/javascripts/extjs-rails/src/draw/engine/ImageExporter.js +106 -0
  275. data/app/assets/javascripts/extjs-rails/src/draw/engine/Svg.js +734 -0
  276. data/app/assets/javascripts/extjs-rails/src/draw/engine/SvgExporter.js +280 -0
  277. data/app/assets/javascripts/extjs-rails/src/draw/engine/Vml.js +916 -0
  278. data/app/assets/javascripts/extjs-rails/src/flash/Component.js +248 -0
  279. data/app/assets/javascripts/extjs-rails/src/form/Basic.js +1018 -0
  280. data/app/assets/javascripts/extjs-rails/src/form/CheckboxGroup.js +441 -0
  281. data/app/assets/javascripts/extjs-rails/src/form/CheckboxManager.js +26 -0
  282. data/app/assets/javascripts/extjs-rails/src/form/FieldAncestor.js +210 -0
  283. data/app/assets/javascripts/extjs-rails/src/form/FieldContainer.js +290 -0
  284. data/app/assets/javascripts/extjs-rails/src/form/FieldSet.js +506 -0
  285. data/app/assets/javascripts/extjs-rails/src/form/Label.js +110 -0
  286. data/app/assets/javascripts/extjs-rails/src/form/Labelable.js +764 -0
  287. data/app/assets/javascripts/extjs-rails/src/form/Panel.js +335 -0
  288. data/app/assets/javascripts/extjs-rails/src/form/RadioGroup.js +124 -0
  289. data/app/assets/javascripts/extjs-rails/src/form/RadioManager.js +26 -0
  290. data/app/assets/javascripts/extjs-rails/src/form/action/Action.js +307 -0
  291. data/app/assets/javascripts/extjs-rails/src/form/action/DirectLoad.js +107 -0
  292. data/app/assets/javascripts/extjs-rails/src/form/action/DirectSubmit.js +119 -0
  293. data/app/assets/javascripts/extjs-rails/src/form/action/Load.js +120 -0
  294. data/app/assets/javascripts/extjs-rails/src/form/action/StandardSubmit.js +34 -0
  295. data/app/assets/javascripts/extjs-rails/src/form/action/Submit.js +257 -0
  296. data/app/assets/javascripts/extjs-rails/src/form/field/Base.js +813 -0
  297. data/app/assets/javascripts/extjs-rails/src/form/field/Checkbox.js +505 -0
  298. data/app/assets/javascripts/extjs-rails/src/form/field/ComboBox.js +1427 -0
  299. data/app/assets/javascripts/extjs-rails/src/form/field/Date.js +578 -0
  300. data/app/assets/javascripts/extjs-rails/src/form/field/Display.js +155 -0
  301. data/app/assets/javascripts/extjs-rails/src/form/field/Field.js +430 -0
  302. data/app/assets/javascripts/extjs-rails/src/form/field/File.js +265 -0
  303. data/app/assets/javascripts/extjs-rails/src/form/field/Hidden.js +75 -0
  304. data/app/assets/javascripts/extjs-rails/src/form/field/HtmlEditor.js +1439 -0
  305. data/app/assets/javascripts/extjs-rails/src/form/field/Number.js +380 -0
  306. data/app/assets/javascripts/extjs-rails/src/form/field/Picker.js +321 -0
  307. data/app/assets/javascripts/extjs-rails/src/form/field/Radio.js +279 -0
  308. data/app/assets/javascripts/extjs-rails/src/form/field/Spinner.js +321 -0
  309. data/app/assets/javascripts/extjs-rails/src/form/field/Text.js +727 -0
  310. data/app/assets/javascripts/extjs-rails/src/form/field/TextArea.js +228 -0
  311. data/app/assets/javascripts/extjs-rails/src/form/field/Time.js +459 -0
  312. data/app/assets/javascripts/extjs-rails/src/form/field/Trigger.js +469 -0
  313. data/app/assets/javascripts/extjs-rails/src/form/field/VTypes.js +172 -0
  314. data/app/assets/javascripts/extjs-rails/src/fx/Anim.js +472 -0
  315. data/app/assets/javascripts/extjs-rails/src/fx/Animator.js +410 -0
  316. data/app/assets/javascripts/extjs-rails/src/fx/CubicBezier.js +77 -0
  317. data/app/assets/javascripts/extjs-rails/src/fx/Easing.js +136 -0
  318. data/app/assets/javascripts/extjs-rails/src/fx/Manager.js +353 -0
  319. data/app/assets/javascripts/extjs-rails/src/fx/PropertyHandler.js +381 -0
  320. data/app/assets/javascripts/extjs-rails/src/fx/Queue.js +123 -0
  321. data/app/assets/javascripts/extjs-rails/src/fx/target/Component.js +118 -0
  322. data/app/assets/javascripts/extjs-rails/src/fx/target/CompositeElement.js +46 -0
  323. data/app/assets/javascripts/extjs-rails/src/fx/target/CompositeElementCSS.js +22 -0
  324. data/app/assets/javascripts/extjs-rails/src/fx/target/CompositeSprite.js +34 -0
  325. data/app/assets/javascripts/extjs-rails/src/fx/target/Element.js +83 -0
  326. data/app/assets/javascripts/extjs-rails/src/fx/target/ElementCSS.js +77 -0
  327. data/app/assets/javascripts/extjs-rails/src/fx/target/Sprite.js +128 -0
  328. data/app/assets/javascripts/extjs-rails/src/fx/target/Target.js +36 -0
  329. data/app/assets/javascripts/extjs-rails/src/grid/CellEditor.js +172 -0
  330. data/app/assets/javascripts/extjs-rails/src/grid/ColumnComponentLayout.js +34 -0
  331. data/app/assets/javascripts/extjs-rails/src/grid/ColumnLayout.js +201 -0
  332. data/app/assets/javascripts/extjs-rails/src/grid/Lockable.js +863 -0
  333. data/app/assets/javascripts/extjs-rails/src/grid/LockingView.js +169 -0
  334. data/app/assets/javascripts/extjs-rails/src/grid/PagingScroller.js +539 -0
  335. data/app/assets/javascripts/extjs-rails/src/grid/Panel.js +393 -0
  336. data/app/assets/javascripts/extjs-rails/src/grid/RowEditor.js +731 -0
  337. data/app/assets/javascripts/extjs-rails/src/grid/RowNumberer.js +76 -0
  338. data/app/assets/javascripts/extjs-rails/src/grid/Scroller.js +5 -0
  339. data/app/assets/javascripts/extjs-rails/src/grid/View.js +44 -0
  340. data/app/assets/javascripts/extjs-rails/src/grid/ViewDropZone.js +41 -0
  341. data/app/assets/javascripts/extjs-rails/src/grid/column/Action.js +318 -0
  342. data/app/assets/javascripts/extjs-rails/src/grid/column/Boolean.js +82 -0
  343. data/app/assets/javascripts/extjs-rails/src/grid/column/Column.js +835 -0
  344. data/app/assets/javascripts/extjs-rails/src/grid/column/Date.js +63 -0
  345. data/app/assets/javascripts/extjs-rails/src/grid/column/Number.js +52 -0
  346. data/app/assets/javascripts/extjs-rails/src/grid/column/Template.js +58 -0
  347. data/app/assets/javascripts/extjs-rails/src/grid/feature/AbstractSummary.js +154 -0
  348. data/app/assets/javascripts/extjs-rails/src/grid/feature/Chunking.js +77 -0
  349. data/app/assets/javascripts/extjs-rails/src/grid/feature/Feature.js +158 -0
  350. data/app/assets/javascripts/extjs-rails/src/grid/feature/Grouping.js +822 -0
  351. data/app/assets/javascripts/extjs-rails/src/grid/feature/GroupingSummary.js +243 -0
  352. data/app/assets/javascripts/extjs-rails/src/grid/feature/RowBody.js +116 -0
  353. data/app/assets/javascripts/extjs-rails/src/grid/feature/RowWrap.js +120 -0
  354. data/app/assets/javascripts/extjs-rails/src/grid/feature/Summary.js +167 -0
  355. data/app/assets/javascripts/extjs-rails/src/grid/header/Container.js +965 -0
  356. data/app/assets/javascripts/extjs-rails/src/grid/header/DragZone.js +69 -0
  357. data/app/assets/javascripts/extjs-rails/src/grid/header/DropZone.js +265 -0
  358. data/app/assets/javascripts/extjs-rails/src/grid/plugin/CellEditing.js +453 -0
  359. data/app/assets/javascripts/extjs-rails/src/grid/plugin/DragDrop.js +254 -0
  360. data/app/assets/javascripts/extjs-rails/src/grid/plugin/Editing.js +561 -0
  361. data/app/assets/javascripts/extjs-rails/src/grid/plugin/HeaderReorderer.js +49 -0
  362. data/app/assets/javascripts/extjs-rails/src/grid/plugin/HeaderResizer.js +292 -0
  363. data/app/assets/javascripts/extjs-rails/src/grid/plugin/RowEditing.js +339 -0
  364. data/app/assets/javascripts/extjs-rails/src/grid/property/Grid.js +351 -0
  365. data/app/assets/javascripts/extjs-rails/src/grid/property/HeaderContainer.js +109 -0
  366. data/app/assets/javascripts/extjs-rails/src/grid/property/Property.js +36 -0
  367. data/app/assets/javascripts/extjs-rails/src/grid/property/Store.js +141 -0
  368. data/app/assets/javascripts/extjs-rails/src/layout/ClassList.js +90 -0
  369. data/app/assets/javascripts/extjs-rails/src/layout/Context.js +1232 -0
  370. data/app/assets/javascripts/extjs-rails/src/layout/ContextItem.js +1470 -0
  371. data/app/assets/javascripts/extjs-rails/src/layout/Layout.js +761 -0
  372. data/app/assets/javascripts/extjs-rails/src/layout/component/Auto.js +220 -0
  373. data/app/assets/javascripts/extjs-rails/src/layout/component/Body.js +80 -0
  374. data/app/assets/javascripts/extjs-rails/src/layout/component/BoundList.js +95 -0
  375. data/app/assets/javascripts/extjs-rails/src/layout/component/Button.js +261 -0
  376. data/app/assets/javascripts/extjs-rails/src/layout/component/Component.js +427 -0
  377. data/app/assets/javascripts/extjs-rails/src/layout/component/Dock.js +1132 -0
  378. data/app/assets/javascripts/extjs-rails/src/layout/component/Draw.js +79 -0
  379. data/app/assets/javascripts/extjs-rails/src/layout/component/FieldSet.js +62 -0
  380. data/app/assets/javascripts/extjs-rails/src/layout/component/ProgressBar.js +54 -0
  381. data/app/assets/javascripts/extjs-rails/src/layout/component/Tab.js +23 -0
  382. data/app/assets/javascripts/extjs-rails/src/layout/component/field/ComboBox.js +52 -0
  383. data/app/assets/javascripts/extjs-rails/src/layout/component/field/Field.js +372 -0
  384. data/app/assets/javascripts/extjs-rails/src/layout/component/field/FieldContainer.js +48 -0
  385. data/app/assets/javascripts/extjs-rails/src/layout/component/field/HtmlEditor.js +54 -0
  386. data/app/assets/javascripts/extjs-rails/src/layout/component/field/Slider.js +58 -0
  387. data/app/assets/javascripts/extjs-rails/src/layout/component/field/Text.js +75 -0
  388. data/app/assets/javascripts/extjs-rails/src/layout/component/field/TextArea.js +51 -0
  389. data/app/assets/javascripts/extjs-rails/src/layout/component/field/Trigger.js +132 -0
  390. data/app/assets/javascripts/extjs-rails/src/layout/container/Absolute.js +121 -0
  391. data/app/assets/javascripts/extjs-rails/src/layout/container/Accordion.js +308 -0
  392. data/app/assets/javascripts/extjs-rails/src/layout/container/Anchor.js +403 -0
  393. data/app/assets/javascripts/extjs-rails/src/layout/container/Auto.js +70 -0
  394. data/app/assets/javascripts/extjs-rails/src/layout/container/Border-old-js +1079 -0
  395. data/app/assets/javascripts/extjs-rails/src/layout/container/Border.js +816 -0
  396. data/app/assets/javascripts/extjs-rails/src/layout/container/Box.js +929 -0
  397. data/app/assets/javascripts/extjs-rails/src/layout/container/Card.js +361 -0
  398. data/app/assets/javascripts/extjs-rails/src/layout/container/CheckboxGroup.js +376 -0
  399. data/app/assets/javascripts/extjs-rails/src/layout/container/Column.js +234 -0
  400. data/app/assets/javascripts/extjs-rails/src/layout/container/Container.js +961 -0
  401. data/app/assets/javascripts/extjs-rails/src/layout/container/Editor.js +74 -0
  402. data/app/assets/javascripts/extjs-rails/src/layout/container/Fit.js +287 -0
  403. data/app/assets/javascripts/extjs-rails/src/layout/container/Form.js +157 -0
  404. data/app/assets/javascripts/extjs-rails/src/layout/container/HBox.js +134 -0
  405. data/app/assets/javascripts/extjs-rails/src/layout/container/Table.js +412 -0
  406. data/app/assets/javascripts/extjs-rails/src/layout/container/VBox.js +139 -0
  407. data/app/assets/javascripts/extjs-rails/src/layout/container/boxOverflow/Menu.js +365 -0
  408. data/app/assets/javascripts/extjs-rails/src/layout/container/boxOverflow/None.js +83 -0
  409. data/app/assets/javascripts/extjs-rails/src/layout/container/boxOverflow/Scroller.js +475 -0
  410. data/app/assets/javascripts/extjs-rails/src/menu/CheckItem.js +169 -0
  411. data/app/assets/javascripts/extjs-rails/src/menu/ColorPicker.js +110 -0
  412. data/app/assets/javascripts/extjs-rails/src/menu/DatePicker.js +100 -0
  413. data/app/assets/javascripts/extjs-rails/src/menu/Item.js +553 -0
  414. data/app/assets/javascripts/extjs-rails/src/menu/KeyNav.js +134 -0
  415. data/app/assets/javascripts/extjs-rails/src/menu/Manager.js +219 -0
  416. data/app/assets/javascripts/extjs-rails/src/menu/Menu.js +579 -0
  417. data/app/assets/javascripts/extjs-rails/src/menu/Separator.js +126 -0
  418. data/app/assets/javascripts/extjs-rails/src/panel/AbstractPanel.js +323 -0
  419. data/app/assets/javascripts/extjs-rails/src/panel/DD.js +99 -0
  420. data/app/assets/javascripts/extjs-rails/src/panel/Header.js +518 -0
  421. data/app/assets/javascripts/extjs-rails/src/panel/Panel.js +2150 -0
  422. data/app/assets/javascripts/extjs-rails/src/panel/Proxy.js +131 -0
  423. data/app/assets/javascripts/extjs-rails/src/panel/Table.js +1018 -0
  424. data/app/assets/javascripts/extjs-rails/src/panel/Tool.js +304 -0
  425. data/app/assets/javascripts/extjs-rails/src/picker/Color.js +219 -0
  426. data/app/assets/javascripts/extjs-rails/src/picker/Date.js +1140 -0
  427. data/app/assets/javascripts/extjs-rails/src/picker/Month.js +490 -0
  428. data/app/assets/javascripts/extjs-rails/src/picker/Time.js +165 -0
  429. data/app/assets/javascripts/extjs-rails/src/resizer/BorderSplitter.js +22 -0
  430. data/app/assets/javascripts/extjs-rails/src/resizer/BorderSplitterTracker.js +210 -0
  431. data/app/assets/javascripts/extjs-rails/src/resizer/Handle.js +29 -0
  432. data/app/assets/javascripts/extjs-rails/src/resizer/ResizeTracker.js +346 -0
  433. data/app/assets/javascripts/extjs-rails/src/resizer/Resizer.js +477 -0
  434. data/app/assets/javascripts/extjs-rails/src/resizer/Splitter.js +242 -0
  435. data/app/assets/javascripts/extjs-rails/src/resizer/SplitterTracker.js +230 -0
  436. data/app/assets/javascripts/extjs-rails/src/selection/CellModel.js +395 -0
  437. data/app/assets/javascripts/extjs-rails/src/selection/CheckboxModel.js +234 -0
  438. data/app/assets/javascripts/extjs-rails/src/selection/DataViewModel.js +160 -0
  439. data/app/assets/javascripts/extjs-rails/src/selection/Model.js +646 -0
  440. data/app/assets/javascripts/extjs-rails/src/selection/RowModel.js +499 -0
  441. data/app/assets/javascripts/extjs-rails/src/selection/TreeModel.js +78 -0
  442. data/app/assets/javascripts/extjs-rails/src/slider/Multi.js +835 -0
  443. data/app/assets/javascripts/extjs-rails/src/slider/Single.js +56 -0
  444. data/app/assets/javascripts/extjs-rails/src/slider/Thumb.js +259 -0
  445. data/app/assets/javascripts/extjs-rails/src/slider/Tip.js +130 -0
  446. data/app/assets/javascripts/extjs-rails/src/state/CookieProvider.js +120 -0
  447. data/app/assets/javascripts/extjs-rails/src/state/LocalStorageProvider.js +72 -0
  448. data/app/assets/javascripts/extjs-rails/src/state/Manager.js +70 -0
  449. data/app/assets/javascripts/extjs-rails/src/state/Provider.js +182 -0
  450. data/app/assets/javascripts/extjs-rails/src/state/Stateful.js +364 -0
  451. data/app/assets/javascripts/extjs-rails/src/tab/Bar.js +258 -0
  452. data/app/assets/javascripts/extjs-rails/src/tab/Panel.js +654 -0
  453. data/app/assets/javascripts/extjs-rails/src/tab/Tab.js +358 -0
  454. data/app/assets/javascripts/extjs-rails/src/tail.js +10 -0
  455. data/app/assets/javascripts/extjs-rails/src/tip/QuickTip.js +335 -0
  456. data/app/assets/javascripts/extjs-rails/src/tip/QuickTipManager.js +239 -0
  457. data/app/assets/javascripts/extjs-rails/src/tip/Tip.js +160 -0
  458. data/app/assets/javascripts/extjs-rails/src/tip/ToolTip.js +691 -0
  459. data/app/assets/javascripts/extjs-rails/src/toolbar/Fill.js +28 -0
  460. data/app/assets/javascripts/extjs-rails/src/toolbar/Item.js +16 -0
  461. data/app/assets/javascripts/extjs-rails/src/toolbar/Paging.js +600 -0
  462. data/app/assets/javascripts/extjs-rails/src/toolbar/Separator.js +23 -0
  463. data/app/assets/javascripts/extjs-rails/src/toolbar/Spacer.js +33 -0
  464. data/app/assets/javascripts/extjs-rails/src/toolbar/TextItem.js +57 -0
  465. data/app/assets/javascripts/extjs-rails/src/toolbar/Toolbar-legacy.js +123 -0
  466. data/app/assets/javascripts/extjs-rails/src/toolbar/Toolbar.js +447 -0
  467. data/app/assets/javascripts/extjs-rails/src/tree/Column.js +90 -0
  468. data/app/assets/javascripts/extjs-rails/src/tree/Panel.js +505 -0
  469. data/app/assets/javascripts/extjs-rails/src/tree/View.js +658 -0
  470. data/app/assets/javascripts/extjs-rails/src/tree/ViewDragZone.js +49 -0
  471. data/app/assets/javascripts/extjs-rails/src/tree/ViewDropZone.js +287 -0
  472. data/app/assets/javascripts/extjs-rails/src/tree/plugin/TreeViewDragDrop.js +244 -0
  473. data/app/assets/javascripts/extjs-rails/src/util/AbstractMixedCollection.js +772 -0
  474. data/app/assets/javascripts/extjs-rails/src/util/Animate.js +426 -0
  475. data/app/assets/javascripts/extjs-rails/src/util/Bindable.js +102 -0
  476. data/app/assets/javascripts/extjs-rails/src/util/CSS.js +185 -0
  477. data/app/assets/javascripts/extjs-rails/src/util/ClickRepeater.js +238 -0
  478. data/app/assets/javascripts/extjs-rails/src/util/ComponentDragger.js +126 -0
  479. data/app/assets/javascripts/extjs-rails/src/util/Cookies.js +91 -0
  480. data/app/assets/javascripts/extjs-rails/src/util/ElementContainer.js +293 -0
  481. data/app/assets/javascripts/extjs-rails/src/util/Filter.js +159 -0
  482. data/app/assets/javascripts/extjs-rails/src/util/Floating.js +321 -0
  483. data/app/assets/javascripts/extjs-rails/src/util/Grouper.js +26 -0
  484. data/app/assets/javascripts/extjs-rails/src/util/HashMap.js +356 -0
  485. data/app/assets/javascripts/extjs-rails/src/util/History.js +285 -0
  486. data/app/assets/javascripts/extjs-rails/src/util/Inflector.js +297 -0
  487. data/app/assets/javascripts/extjs-rails/src/util/KeyMap.js +427 -0
  488. data/app/assets/javascripts/extjs-rails/src/util/KeyNav.js +239 -0
  489. data/app/assets/javascripts/extjs-rails/src/util/LruCache.js +257 -0
  490. data/app/assets/javascripts/extjs-rails/src/util/Memento.js +131 -0
  491. data/app/assets/javascripts/extjs-rails/src/util/MixedCollection.js +239 -0
  492. data/app/assets/javascripts/extjs-rails/src/util/Observable.js +1003 -0
  493. data/app/assets/javascripts/extjs-rails/src/util/Offset.js +60 -0
  494. data/app/assets/javascripts/extjs-rails/src/util/Point.js +93 -0
  495. data/app/assets/javascripts/extjs-rails/src/util/ProtoElement.js +205 -0
  496. data/app/assets/javascripts/extjs-rails/src/util/Queue.js +76 -0
  497. data/app/assets/javascripts/extjs-rails/src/util/Region.js +388 -0
  498. data/app/assets/javascripts/extjs-rails/src/util/Renderable.js +1079 -0
  499. data/app/assets/javascripts/extjs-rails/src/util/Sortable.js +248 -0
  500. data/app/assets/javascripts/extjs-rails/src/util/Sorter.js +179 -0
  501. data/app/assets/javascripts/extjs-rails/src/util/TextMetrics.js +148 -0
  502. data/app/assets/javascripts/extjs-rails/src/view/AbstractView.js +1103 -0
  503. data/app/assets/javascripts/extjs-rails/src/view/BoundList.js +207 -0
  504. data/app/assets/javascripts/extjs-rails/src/view/BoundListKeyNav.js +92 -0
  505. data/app/assets/javascripts/extjs-rails/src/view/DragZone.js +106 -0
  506. data/app/assets/javascripts/extjs-rails/src/view/DropZone.js +240 -0
  507. data/app/assets/javascripts/extjs-rails/src/view/Table.js +1229 -0
  508. data/app/assets/javascripts/extjs-rails/src/view/TableChunker.js +139 -0
  509. data/app/assets/javascripts/extjs-rails/src/view/View.js +636 -0
  510. data/app/assets/javascripts/extjs-rails/src/window/MessageBox.js +880 -0
  511. data/app/assets/javascripts/extjs-rails/src/window/Window-legacy.js +56 -0
  512. data/app/assets/javascripts/extjs-rails/src/window/Window.js +793 -0
  513. data/extjs-rails.gemspec +24 -0
  514. data/lib/extjs-rails.rb +7 -0
  515. data/lib/extjs-rails/engine.rb +7 -0
  516. data/lib/extjs-rails/version.rb +5 -0
  517. metadata +660 -0
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Provides a container for arranging a group of related Buttons in a tabular manner.
3
+ *
4
+ * @example
5
+ * Ext.create('Ext.panel.Panel', {
6
+ * title: 'Panel with ButtonGroup',
7
+ * width: 300,
8
+ * height:200,
9
+ * renderTo: document.body,
10
+ * bodyPadding: 10,
11
+ * html: 'HTML Panel Content',
12
+ * tbar: [{
13
+ * xtype: 'buttongroup',
14
+ * columns: 3,
15
+ * title: 'Clipboard',
16
+ * items: [{
17
+ * text: 'Paste',
18
+ * scale: 'large',
19
+ * rowspan: 3,
20
+ * iconCls: 'add',
21
+ * iconAlign: 'top',
22
+ * cls: 'btn-as-arrow'
23
+ * },{
24
+ * xtype:'splitbutton',
25
+ * text: 'Menu Button',
26
+ * scale: 'large',
27
+ * rowspan: 3,
28
+ * iconCls: 'add',
29
+ * iconAlign: 'top',
30
+ * arrowAlign:'bottom',
31
+ * menu: [{ text: 'Menu Item 1' }]
32
+ * },{
33
+ * xtype:'splitbutton', text: 'Cut', iconCls: 'add16', menu: [{text: 'Cut Menu Item'}]
34
+ * },{
35
+ * text: 'Copy', iconCls: 'add16'
36
+ * },{
37
+ * text: 'Format', iconCls: 'add16'
38
+ * }]
39
+ * }]
40
+ * });
41
+ *
42
+ */
43
+ Ext.define('Ext.container.ButtonGroup', {
44
+ extend: 'Ext.panel.Panel',
45
+ alias: 'widget.buttongroup',
46
+ alternateClassName: 'Ext.ButtonGroup',
47
+
48
+ requires: ['Ext.layout.container.Table'],
49
+
50
+ /**
51
+ * @cfg {Number} columns
52
+ * The `columns` configuration property passed to the {@link #layout configured layout manager}.
53
+ * See {@link Ext.layout.container.Table#columns}.
54
+ */
55
+
56
+ /**
57
+ * @cfg {String} baseCls
58
+ * @inheritdoc
59
+ */
60
+ baseCls: Ext.baseCSSPrefix + 'btn-group',
61
+
62
+ /**
63
+ * @cfg {Object} layout
64
+ * @inheritdoc
65
+ */
66
+ layout: {
67
+ type: 'table'
68
+ },
69
+
70
+ defaultType: 'button',
71
+
72
+ /**
73
+ * @cfg {Boolean} frame
74
+ * @inheritdoc
75
+ */
76
+ frame: true,
77
+
78
+ frameHeader: false,
79
+
80
+ internalDefaults: {removeMode: 'container', hideParent: true},
81
+
82
+ titleAlign: 'center',
83
+
84
+ initComponent : function() {
85
+ // Copy the component's columns config to the layout if specified
86
+ var me = this,
87
+ cols = me.columns;
88
+
89
+ me.noTitleCls = me.baseCls + '-notitle';
90
+ if (cols) {
91
+ me.layout = Ext.apply({}, {columns: cols}, me.layout);
92
+ }
93
+
94
+ if (!me.title) {
95
+ me.addCls(me.noTitleCls);
96
+ }
97
+ me.callParent(arguments);
98
+ },
99
+
100
+ // private
101
+ onBeforeAdd: function(component) {
102
+ if (component.isButton) {
103
+ component.ui = component.ui + '-toolbar';
104
+ }
105
+ this.callParent(arguments);
106
+ },
107
+
108
+ //private
109
+ applyDefaults: function(c) {
110
+ if (!Ext.isString(c)) {
111
+ c = this.callParent(arguments);
112
+ var d = this.internalDefaults;
113
+ if (c.events) {
114
+ Ext.applyIf(c.initialConfig, d);
115
+ Ext.apply(c, d);
116
+ } else {
117
+ Ext.applyIf(c, d);
118
+ }
119
+ }
120
+ return c;
121
+ }
122
+
123
+ /**
124
+ * @cfg {Array} tools
125
+ * @private
126
+ */
127
+ /**
128
+ * @cfg {Boolean} collapsible
129
+ * @private
130
+ */
131
+ /**
132
+ * @cfg {Boolean} collapseMode
133
+ * @private
134
+ */
135
+ /**
136
+ * @cfg {Boolean} animCollapse
137
+ * @private
138
+ */
139
+ /**
140
+ * @cfg {Boolean} closable
141
+ * @private
142
+ */
143
+ });
@@ -0,0 +1,212 @@
1
+ /**
2
+ * Base class for any Ext.Component that may contain other Components. Containers handle the basic behavior of
3
+ * containing items, namely adding, inserting and removing items.
4
+ *
5
+ * The most commonly used Container classes are Ext.panel.Panel, Ext.window.Window and
6
+ * Ext.tab.Panel. If you do not need the capabilities offered by the aforementioned classes you can create a
7
+ * lightweight Container to be encapsulated by an HTML element to your specifications by using the
8
+ * {@link Ext.Component#autoEl autoEl} config option.
9
+ *
10
+ * The code below illustrates how to explicitly create a Container:
11
+ *
12
+ * @example
13
+ * // Explicitly create a Container
14
+ * Ext.create('Ext.container.Container', {
15
+ * layout: {
16
+ * type: 'hbox'
17
+ * },
18
+ * width: 400,
19
+ * renderTo: Ext.getBody(),
20
+ * border: 1,
21
+ * style: {borderColor:'#000000', borderStyle:'solid', borderWidth:'1px'},
22
+ * defaults: {
23
+ * labelWidth: 80,
24
+ * // implicitly create Container by specifying xtype
25
+ * xtype: 'datefield',
26
+ * flex: 1,
27
+ * style: {
28
+ * padding: '10px'
29
+ * }
30
+ * },
31
+ * items: [{
32
+ * xtype: 'datefield',
33
+ * name: 'startDate',
34
+ * fieldLabel: 'Start date'
35
+ * },{
36
+ * xtype: 'datefield',
37
+ * name: 'endDate',
38
+ * fieldLabel: 'End date'
39
+ * }]
40
+ * });
41
+ *
42
+ * ## Layout
43
+ *
44
+ * Container classes delegate the rendering of child Components to a layout manager class which must be configured into
45
+ * the Container using the `{@link #layout}` configuration property.
46
+ *
47
+ * When either specifying child `{@link #cfg-items}` of a Container, or dynamically {@link #method-add adding} Components to a
48
+ * Container, remember to consider how you wish the Container to arrange those child elements, and whether those child
49
+ * elements need to be sized using one of Ext's built-in `{@link #layout}` schemes. By default, Containers use the
50
+ * {@link Ext.layout.container.Auto Auto} scheme which only renders child components, appending them one after the other
51
+ * inside the Container, and **does not apply any sizing** at all.
52
+ *
53
+ * A common mistake is when a developer neglects to specify a `{@link #layout}` (e.g. widgets like GridPanels or
54
+ * TreePanels are added to Containers for which no `{@link #layout}` has been specified). If a Container is left to
55
+ * use the default {@link Ext.layout.container.Auto Auto} scheme, none of its child components will be resized, or changed in
56
+ * any way when the Container is resized.
57
+ *
58
+ * Certain layout managers allow dynamic addition of child components. Those that do include
59
+ * Ext.layout.container.Card, Ext.layout.container.Anchor, Ext.layout.container.VBox,
60
+ * Ext.layout.container.HBox, and Ext.layout.container.Table. For example:
61
+ *
62
+ * // Create the GridPanel.
63
+ * var myNewGrid = Ext.create('Ext.grid.Panel', {
64
+ * store: myStore,
65
+ * headers: myHeaders,
66
+ * title: 'Results', // the title becomes the title of the tab
67
+ * });
68
+ *
69
+ * myTabPanel.add(myNewGrid); // {@link Ext.tab.Panel} implicitly uses {@link Ext.layout.container.Card Card}
70
+ * myTabPanel.{@link Ext.tab.Panel#setActiveTab setActiveTab}(myNewGrid);
71
+ *
72
+ * The example above adds a newly created GridPanel to a TabPanel. Note that a TabPanel uses {@link
73
+ * Ext.layout.container.Card} as its layout manager which means all its child items are sized to {@link
74
+ * Ext.layout.container.Fit fit} exactly into its client area.
75
+ *
76
+ * **_Overnesting is a common problem_**. An example of overnesting occurs when a GridPanel is added to a TabPanel by
77
+ * wrapping the GridPanel _inside_ a wrapping Panel (that has no `{@link #layout}` specified) and then add that
78
+ * wrapping Panel to the TabPanel. The point to realize is that a GridPanel **is** a Component which can be added
79
+ * directly to a Container. If the wrapping Panel has no `{@link #layout}` configuration, then the overnested
80
+ * GridPanel will not be sized as expected.
81
+ *
82
+ * ## Adding via remote configuration
83
+ *
84
+ * A server side script can be used to add Components which are generated dynamically on the server. An example of
85
+ * adding a GridPanel to a TabPanel where the GridPanel is generated by the server based on certain parameters:
86
+ *
87
+ * // execute an Ajax request to invoke server side script:
88
+ * Ext.Ajax.request({
89
+ * url: 'gen-invoice-grid.php',
90
+ * // send additional parameters to instruct server script
91
+ * params: {
92
+ * startDate: Ext.getCmp('start-date').getValue(),
93
+ * endDate: Ext.getCmp('end-date').getValue()
94
+ * },
95
+ * // process the response object to add it to the TabPanel:
96
+ * success: function(xhr) {
97
+ * var newComponent = eval(xhr.responseText); // see discussion below
98
+ * myTabPanel.add(newComponent); // add the component to the TabPanel
99
+ * myTabPanel.setActiveTab(newComponent);
100
+ * },
101
+ * failure: function() {
102
+ * Ext.Msg.alert("Grid create failed", "Server communication failure");
103
+ * }
104
+ * });
105
+ *
106
+ * The server script needs to return a JSON representation of a configuration object, which, when decoded will return a
107
+ * config object with an {@link Ext.Component#xtype xtype}. The server might return the following JSON:
108
+ *
109
+ * {
110
+ * "xtype": 'grid',
111
+ * "title": 'Invoice Report',
112
+ * "store": {
113
+ * "model": 'Invoice',
114
+ * "proxy": {
115
+ * "type": 'ajax',
116
+ * "url": 'get-invoice-data.php',
117
+ * "reader": {
118
+ * "type": 'json'
119
+ * "record": 'transaction',
120
+ * "idProperty": 'id',
121
+ * "totalRecords": 'total'
122
+ * })
123
+ * },
124
+ * "autoLoad": {
125
+ * "params": {
126
+ * "startDate": '01/01/2008',
127
+ * "endDate": '01/31/2008'
128
+ * }
129
+ * }
130
+ * },
131
+ * "headers": [
132
+ * {"header": "Customer", "width": 250, "dataIndex": 'customer', "sortable": true},
133
+ * {"header": "Invoice Number", "width": 120, "dataIndex": 'invNo', "sortable": true},
134
+ * {"header": "Invoice Date", "width": 100, "dataIndex": 'date', "renderer": Ext.util.Format.dateRenderer('M d, y'), "sortable": true},
135
+ * {"header": "Value", "width": 120, "dataIndex": 'value', "renderer": 'usMoney', "sortable": true}
136
+ * ]
137
+ * }
138
+ *
139
+ * When the above code fragment is passed through the `eval` function in the success handler of the Ajax request, the
140
+ * result will be a config object which, when added to a Container, will cause instantiation of a GridPanel. **Be sure
141
+ * that the Container is configured with a layout which sizes and positions the child items to your requirements.**
142
+ *
143
+ * **Note:** since the code above is _generated_ by a server script, the `autoLoad` params for the Store, the user's
144
+ * preferred date format, the metadata to allow generation of the Model layout, and the ColumnModel can all be generated
145
+ * into the code since these are all known on the server.
146
+ */
147
+ Ext.define('Ext.container.Container', {
148
+ extend: 'Ext.container.AbstractContainer',
149
+ alias: 'widget.container',
150
+ alternateClassName: 'Ext.Container',
151
+
152
+ /*
153
+ * For more information on the following methods, see the note for the
154
+ * hierarchyEventSource observer defined in the class' callback
155
+ */
156
+ fireHierarchyEvent: function (ename) {
157
+ this.hierarchyEventSource.fireEvent(ename, this);
158
+ },
159
+
160
+ // note that the collapse and expand events are fired explicitly from Panel.js
161
+ afterHide: function() {
162
+ this.callParent(arguments);
163
+ this.fireHierarchyEvent('hide');
164
+ },
165
+
166
+ afterShow: function(){
167
+ this.callParent(arguments);
168
+ this.fireHierarchyEvent('show');
169
+ },
170
+
171
+ /**
172
+ * Return the immediate child Component in which the passed element is located.
173
+ * @param {Ext.Element/HTMLElement/String} el The element to test (or ID of element).
174
+ * @param {Boolean} deep If `true`, returns the deepest descendant Component which contains the passed element.
175
+ * @return {Ext.Component} The child item which contains the passed element.
176
+ */
177
+ getChildByElement: function(el, deep) {
178
+ var item,
179
+ itemEl,
180
+ i = 0,
181
+ it = this.getRefItems(),
182
+ ln = it.length;
183
+
184
+ el = Ext.getDom(el);
185
+ for (; i < ln; i++) {
186
+ item = it[i];
187
+ itemEl = item.getEl();
188
+ if (itemEl && ((itemEl.dom === el) || itemEl.contains(el))) {
189
+ return (deep && item.getChildByElement) ? item.getChildByElement(el, deep) : item;
190
+ }
191
+ }
192
+ return null;
193
+ }
194
+ }, function () {
195
+ /*
196
+ * The observer below is used to be able to detect showing/hiding at various levels
197
+ * in the hierarchy. While it's not particularly expensive to bubble an event up,
198
+ * cascading an event down can be quite costly.
199
+ *
200
+ * The main usage for this is to do with floating components. For example, the load mask
201
+ * is a floating component. The component it is masking may be inside several containers.
202
+ * As such, we need to know when component is hidden, either directly, or via a parent
203
+ * container being hidden. We can subscribe to these events and filter out the appropriate
204
+ * container.
205
+ */
206
+ this.hierarchyEventSource = this.prototype.hierarchyEventSource = new Ext.util.Observable({ events: {
207
+ hide: true,
208
+ show: true,
209
+ collapse: true,
210
+ expand: true
211
+ }});
212
+ });
@@ -0,0 +1,265 @@
1
+ /**
2
+ *
3
+ */
4
+ Ext.define('Ext.container.DockingContainer', {
5
+
6
+ /* Begin Definitions */
7
+
8
+ requires: ['Ext.util.MixedCollection', 'Ext.Element' ],
9
+
10
+ /* End Definitions */
11
+
12
+ isDockingContainer: true,
13
+
14
+ /**
15
+ * @cfg {Object} defaultDockWeights
16
+ * This object holds the default weights applied to dockedItems that have no weight. These start with a
17
+ * weight of 1, to allow negative weights to insert before top items and are odd numbers
18
+ * so that even weights can be used to get between different dock orders.
19
+ *
20
+ * To make default docking order match border layout, do this:
21
+ *
22
+ * Ext.panel.AbstractPanel.prototype.defaultDockWeights = { top: 1, bottom: 3, left: 5, right: 7 };
23
+ *
24
+ * Changing these defaults as above or individually on this object will effect all Panels.
25
+ * To change the defaults on a single panel, you should replace the entire object:
26
+ *
27
+ * initComponent: function () {
28
+ * // NOTE: Don't change members of defaultDockWeights since the object is shared.
29
+ * this.defaultDockWeights = { top: 1, bottom: 3, left: 5, right: 7 };
30
+ *
31
+ * this.callParent();
32
+ * }
33
+ *
34
+ * To change only one of the default values, you do this:
35
+ *
36
+ * initComponent: function () {
37
+ * // NOTE: Don't change members of defaultDockWeights since the object is shared.
38
+ * this.defaultDockWeights = Ext.applyIf({ top: 10 }, this.defaultDockWeights);
39
+ *
40
+ * this.callParent();
41
+ * }
42
+ */
43
+ defaultDockWeights: {
44
+ top: { render: 1, visual: 1 },
45
+ left: { render: 3, visual: 5 },
46
+ right: { render: 5, visual: 7 },
47
+ bottom: { render: 7, visual: 3 }
48
+ },
49
+
50
+ // @private
51
+ // Values to decide which side of the body element docked items must go
52
+ // This overides any weight. A left/top will *always* sort before a right/bottom
53
+ // regardless of any weight value. Weights sort at either side of the "body" dividing point.
54
+ dockOrder: {
55
+ top: -1,
56
+ left: -1,
57
+ right: 1,
58
+ bottom: 1
59
+ },
60
+
61
+ /**
62
+ * Adds docked item(s) to the container.
63
+ * @param {Object/Object[]} component The Component or array of components to add. The components
64
+ * must include a 'dock' parameter on each component to indicate where it should be docked ('top', 'right',
65
+ * 'bottom', 'left').
66
+ * @param {Number} pos (optional) The index at which the Component will be added
67
+ */
68
+ addDocked : function(items, pos) {
69
+ var me = this,
70
+ i = 0,
71
+ item, length;
72
+
73
+ items = me.prepareItems(items);
74
+ length = items.length;
75
+
76
+ for (; i < length; i++) {
77
+ item = items[i];
78
+ item.dock = item.dock || 'top';
79
+
80
+ if (pos !== undefined) {
81
+ me.dockedItems.insert(pos + i, item);
82
+ } else {
83
+ me.dockedItems.add(item);
84
+ }
85
+ if (item.onAdded !== Ext.emptyFn) {
86
+ item.onAdded(me, i);
87
+ }
88
+ if (me.onDockedAdd !== Ext.emptyFn) {
89
+ me.onDockedAdd(item);
90
+ }
91
+ }
92
+
93
+ if (me.rendered && !me.suspendLayout) {
94
+ me.updateLayout();
95
+ }
96
+ return items;
97
+ },
98
+
99
+ destroyDockedItems: function(){
100
+ var dockedItems = this.dockedItems,
101
+ c;
102
+
103
+ if (dockedItems) {
104
+ while ((c = dockedItems.first())) {
105
+ this.removeDocked(c, true);
106
+ }
107
+ }
108
+ },
109
+
110
+ doRenderDockedItems: function (out, renderData, after) {
111
+ // Careful! This method is bolted on to the frameTpl and renderTpl so all we get for
112
+ // context is the renderData! The "this" pointer is either the frameTpl or the
113
+ // renderTpl instance!
114
+
115
+ // Due to framing, we will be called in two different ways: in the frameTpl or in
116
+ // the renderTpl. The frameTpl version enters via doRenderFramingDockedItems which
117
+ // sets "$skipDockedItems" on the renderTpl's renderData.
118
+ //
119
+ var me = renderData.$comp,
120
+ layout = me.componentLayout,
121
+ items,
122
+ tree;
123
+
124
+ if (layout.getDockedItems && !renderData.$skipDockedItems) {
125
+ items = layout.getDockedItems('render', !after);
126
+ tree = items && layout.getItemsRenderTree(items);
127
+
128
+ if (tree) {
129
+ Ext.DomHelper.generateMarkup(tree, out);
130
+ }
131
+ }
132
+ },
133
+
134
+ /**
135
+ * Finds a docked component by id, itemId or position. Also see {@link #getDockedItems}
136
+ * @param {String/Number} comp The id, itemId or position of the docked component (see {@link #getComponent} for details)
137
+ * @return {Ext.Component} The docked component (if found)
138
+ */
139
+ getDockedComponent: function(comp) {
140
+ if (Ext.isObject(comp)) {
141
+ comp = comp.getItemId();
142
+ }
143
+ return this.dockedItems.get(comp);
144
+ },
145
+
146
+ /**
147
+ * Retrieves an array of all currently docked Components.
148
+ *
149
+ * For example to find a toolbar that has been docked at top:
150
+ *
151
+ * panel.getDockedItems('toolbar[dock="top"]');
152
+ *
153
+ * @param {String} selector A {@link Ext.ComponentQuery ComponentQuery} selector string to filter the returned items.
154
+ * @param {Boolean} beforeBody An optional flag to limit the set of items to only those
155
+ * before the body (true) or after the body (false). All components are returned by
156
+ * default.
157
+ * @return {Ext.Component[]} The array of docked components meeting the specified criteria.
158
+ */
159
+ getDockedItems : function(selector, beforeBody) {
160
+ var dockedItems = this.getComponentLayout().getDockedItems('render', beforeBody);
161
+
162
+ if (selector && dockedItems.length) {
163
+ dockedItems = Ext.ComponentQuery.query(selector, dockedItems);
164
+ }
165
+
166
+ return dockedItems;
167
+ },
168
+
169
+ getDockingRefItems: function(deep, containerItems) {
170
+ // deep fetches the docked items and their descendants using '*' and then '* *'
171
+ var selector = deep && '*,* *',
172
+ // start with only the top/left docked items (and maybe their children)
173
+ dockedItems = this.getDockedItems(selector, true),
174
+ items;
175
+
176
+ // push container items (and maybe their children) after top/left docked items:
177
+ dockedItems.push.apply(dockedItems, containerItems);
178
+
179
+ // push right/bottom docked items (and maybe their children) after container items:
180
+ items = this.getDockedItems(selector, false);
181
+ dockedItems.push.apply(dockedItems, items);
182
+
183
+ return dockedItems;
184
+ },
185
+
186
+ initDockingItems: function() {
187
+ var me = this,
188
+ items = me.dockedItems;
189
+
190
+ me.dockedItems = new Ext.util.AbstractMixedCollection(false, me.getComponentId);
191
+ if (items) {
192
+ me.addDocked(items);
193
+ }
194
+ },
195
+
196
+ /**
197
+ * Inserts docked item(s) to the panel at the indicated position.
198
+ * @param {Number} pos The index at which the Component will be inserted
199
+ * @param {Object/Object[]} component. The Component or array of components to add. The components
200
+ * must include a 'dock' paramater on each component to indicate where it should be docked ('top', 'right',
201
+ * 'bottom', 'left').
202
+ */
203
+ insertDocked : function(pos, items) {
204
+ this.addDocked(items, pos);
205
+ },
206
+
207
+ // Placeholder empty functions
208
+ /**
209
+ * Invoked after a docked item is added to the Panel.
210
+ * @param {Ext.Component} component
211
+ * @template
212
+ * @protected
213
+ */
214
+ onDockedAdd : Ext.emptyFn,
215
+ /**
216
+ * Invoked after a docked item is removed from the Panel.
217
+ * @param {Ext.Component} component
218
+ * @template
219
+ * @protected
220
+ */
221
+ onDockedRemove : Ext.emptyFn,
222
+
223
+ /**
224
+ * Removes the docked item from the panel.
225
+ * @param {Ext.Component} item. The Component to remove.
226
+ * @param {Boolean} autoDestroy (optional) Destroy the component after removal.
227
+ */
228
+ removeDocked : function(item, autoDestroy) {
229
+ var me = this,
230
+ layout,
231
+ hasLayout;
232
+
233
+ if (!me.dockedItems.contains(item)) {
234
+ return item;
235
+ }
236
+
237
+ layout = me.componentLayout;
238
+ hasLayout = layout && me.rendered;
239
+
240
+ if (hasLayout) {
241
+ layout.onRemove(item);
242
+ }
243
+
244
+ me.dockedItems.remove(item);
245
+ item.onRemoved();
246
+ me.onDockedRemove(item);
247
+
248
+ if (autoDestroy === true || (autoDestroy !== false && me.autoDestroy)) {
249
+ item.destroy();
250
+ } else if (hasLayout) {
251
+ // not destroying, make any layout related removals
252
+ layout.afterRemove(item);
253
+ }
254
+
255
+ if (!me.destroying && !me.suspendLayout) {
256
+ me.updateLayout();
257
+ }
258
+
259
+ return item;
260
+ },
261
+
262
+ setupDockingRenderTpl: function (renderTpl) {
263
+ renderTpl.renderDockedItems = this.doRenderDockedItems;
264
+ }
265
+ });