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,137 @@
1
+ /**
2
+ * This class provides a container DD instance that allows dragging of multiple child source nodes.
3
+ *
4
+ * This class does not move the drag target nodes, but a proxy element which may contain any DOM structure you wish. The
5
+ * DOM element to show in the proxy is provided by either a provided implementation of {@link #getDragData}, or by
6
+ * registered draggables registered with {@link Ext.dd.Registry}
7
+ *
8
+ * If you wish to provide draggability for an arbitrary number of DOM nodes, each of which represent some application
9
+ * object (For example nodes in a {@link Ext.view.View DataView}) then use of this class is the most efficient way to
10
+ * "activate" those nodes.
11
+ *
12
+ * By default, this class requires that draggable child nodes are registered with {@link Ext.dd.Registry}. However a
13
+ * simpler way to allow a DragZone to manage any number of draggable elements is to configure the DragZone with an
14
+ * implementation of the {@link #getDragData} method which interrogates the passed mouse event to see if it has taken
15
+ * place within an element, or class of elements. This is easily done by using the event's {@link
16
+ * Ext.EventObject#getTarget getTarget} method to identify a node based on a {@link Ext.DomQuery} selector. For example,
17
+ * to make the nodes of a DataView draggable, use the following technique. Knowledge of the use of the DataView is
18
+ * required:
19
+ *
20
+ * myDataView.on('render', function(v) {
21
+ * myDataView.dragZone = new Ext.dd.DragZone(v.getEl(), {
22
+ *
23
+ * // On receipt of a mousedown event, see if it is within a DataView node.
24
+ * // Return a drag data object if so.
25
+ * getDragData: function(e) {
26
+ *
27
+ * // Use the DataView's own itemSelector (a mandatory property) to
28
+ * // test if the mousedown is within one of the DataView's nodes.
29
+ * var sourceEl = e.getTarget(v.itemSelector, 10);
30
+ *
31
+ * // If the mousedown is within a DataView node, clone the node to produce
32
+ * // a ddel element for use by the drag proxy. Also add application data
33
+ * // to the returned data object.
34
+ * if (sourceEl) {
35
+ * d = sourceEl.cloneNode(true);
36
+ * d.id = Ext.id();
37
+ * return {
38
+ * ddel: d,
39
+ * sourceEl: sourceEl,
40
+ * repairXY: Ext.fly(sourceEl).getXY(),
41
+ * sourceStore: v.store,
42
+ * draggedRecord: v.{@link Ext.view.View#getRecord getRecord}(sourceEl)
43
+ * }
44
+ * }
45
+ * },
46
+ *
47
+ * // Provide coordinates for the proxy to slide back to on failed drag.
48
+ * // This is the original XY coordinates of the draggable element captured
49
+ * // in the getDragData method.
50
+ * getRepairXY: function() {
51
+ * return this.dragData.repairXY;
52
+ * }
53
+ * });
54
+ * });
55
+ *
56
+ * See the {@link Ext.dd.DropZone DropZone} documentation for details about building a DropZone which cooperates with
57
+ * this DragZone.
58
+ */
59
+ Ext.define('Ext.dd.DragZone', {
60
+ extend: 'Ext.dd.DragSource',
61
+
62
+ /**
63
+ * Creates new DragZone.
64
+ * @param {String/HTMLElement/Ext.Element} el The container element or ID of it.
65
+ * @param {Object} config
66
+ */
67
+ constructor : function(el, config){
68
+ this.callParent([el, config]);
69
+ if (this.containerScroll) {
70
+ Ext.dd.ScrollManager.register(this.el);
71
+ }
72
+ },
73
+
74
+ /**
75
+ * @property {Object} dragData
76
+ * This property contains the data representing the dragged object. This data is set up by the implementation of the
77
+ * {@link #getDragData} method. It must contain a ddel property, but can contain any other data according to the
78
+ * application's needs.
79
+ */
80
+
81
+ /**
82
+ * @cfg {Boolean} containerScroll
83
+ * True to register this container with the Scrollmanager for auto scrolling during drag operations.
84
+ */
85
+
86
+ /**
87
+ * Called when a mousedown occurs in this container. Looks in {@link Ext.dd.Registry} for a valid target to drag
88
+ * based on the mouse down. Override this method to provide your own lookup logic (e.g. finding a child by class
89
+ * name). Make sure your returned object has a "ddel" attribute (with an HTML Element) for other functions to work.
90
+ * @param {Event} e The mouse down event
91
+ * @return {Object} The dragData
92
+ */
93
+ getDragData : function(e){
94
+ return Ext.dd.Registry.getHandleFromEvent(e);
95
+ },
96
+
97
+ /**
98
+ * Called once drag threshold has been reached to initialize the proxy element. By default, it clones the
99
+ * this.dragData.ddel
100
+ * @param {Number} x The x position of the click on the dragged object
101
+ * @param {Number} y The y position of the click on the dragged object
102
+ * @return {Boolean} true to continue the drag, false to cancel
103
+ */
104
+ onInitDrag : function(x, y){
105
+ this.proxy.update(this.dragData.ddel.cloneNode(true));
106
+ this.onStartDrag(x, y);
107
+ return true;
108
+ },
109
+
110
+ /**
111
+ * Called after a repair of an invalid drop. By default, highlights this.dragData.ddel
112
+ */
113
+ afterRepair : function(){
114
+ var me = this;
115
+ if (Ext.enableFx) {
116
+ Ext.fly(me.dragData.ddel).highlight(me.repairHighlightColor);
117
+ }
118
+ me.dragging = false;
119
+ },
120
+
121
+ /**
122
+ * Called before a repair of an invalid drop to get the XY to animate to. By default returns the XY of
123
+ * this.dragData.ddel
124
+ * @param {Event} e The mouse up event
125
+ * @return {Number[]} The xy location (e.g. `[100, 200]`)
126
+ */
127
+ getRepairXY : function(e){
128
+ return Ext.fly(this.dragData.ddel).getXY();
129
+ },
130
+
131
+ destroy : function(){
132
+ this.callParent();
133
+ if (this.containerScroll) {
134
+ Ext.dd.ScrollManager.unregister(this.el);
135
+ }
136
+ }
137
+ });
@@ -0,0 +1,118 @@
1
+ /**
2
+ * A simple class that provides the basic implementation needed to make any element a drop target that can have
3
+ * draggable items dropped onto it. The drop has no effect until an implementation of notifyDrop is provided.
4
+ */
5
+ Ext.define('Ext.dd.DropTarget', {
6
+ extend: 'Ext.dd.DDTarget',
7
+ requires: ['Ext.dd.ScrollManager'],
8
+
9
+ /**
10
+ * Creates new DropTarget.
11
+ * @param {String/HTMLElement/Ext.Element} el The container element or ID of it.
12
+ * @param {Object} config
13
+ */
14
+ constructor : function(el, config){
15
+ this.el = Ext.get(el);
16
+
17
+ Ext.apply(this, config);
18
+
19
+ if(this.containerScroll){
20
+ Ext.dd.ScrollManager.register(this.el);
21
+ }
22
+
23
+ this.callParent([this.el.dom, this.ddGroup || this.group,
24
+ {isTarget: true}]);
25
+ },
26
+
27
+ /**
28
+ * @cfg {String} ddGroup
29
+ * A named drag drop group to which this object belongs. If a group is specified, then this object will only
30
+ * interact with other drag drop objects in the same group.
31
+ */
32
+ /**
33
+ * @cfg {String} [overClass=""]
34
+ * The CSS class applied to the drop target element while the drag source is over it.
35
+ */
36
+ /**
37
+ * @cfg {String} dropAllowed
38
+ * The CSS class returned to the drag source when drop is allowed.
39
+ */
40
+ dropAllowed : Ext.baseCSSPrefix + 'dd-drop-ok',
41
+ /**
42
+ * @cfg {String} dropNotAllowed
43
+ * The CSS class returned to the drag source when drop is not allowed.
44
+ */
45
+ dropNotAllowed : Ext.baseCSSPrefix + 'dd-drop-nodrop',
46
+
47
+ // private
48
+ isTarget : true,
49
+
50
+ // private
51
+ isNotifyTarget : true,
52
+
53
+ /**
54
+ * The function a {@link Ext.dd.DragSource} calls once to notify this drop target that the source is now over the
55
+ * target. This default implementation adds the CSS class specified by overClass (if any) to the drop element
56
+ * and returns the dropAllowed config value. This method should be overridden if drop validation is required.
57
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop target
58
+ * @param {Event} e The event
59
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
60
+ * @return {String} status The CSS class that communicates the drop status back to the source so that the
61
+ * underlying {@link Ext.dd.StatusProxy} can be updated
62
+ */
63
+ notifyEnter : function(dd, e, data){
64
+ if(this.overClass){
65
+ this.el.addCls(this.overClass);
66
+ }
67
+ return this.dropAllowed;
68
+ },
69
+
70
+ /**
71
+ * The function a {@link Ext.dd.DragSource} calls continuously while it is being dragged over the target.
72
+ * This method will be called on every mouse movement while the drag source is over the drop target.
73
+ * This default implementation simply returns the dropAllowed config value.
74
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop target
75
+ * @param {Event} e The event
76
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
77
+ * @return {String} status The CSS class that communicates the drop status back to the source so that the
78
+ * underlying {@link Ext.dd.StatusProxy} can be updated
79
+ */
80
+ notifyOver : function(dd, e, data){
81
+ return this.dropAllowed;
82
+ },
83
+
84
+ /**
85
+ * The function a {@link Ext.dd.DragSource} calls once to notify this drop target that the source has been dragged
86
+ * out of the target without dropping. This default implementation simply removes the CSS class specified by
87
+ * overClass (if any) from the drop element.
88
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop target
89
+ * @param {Event} e The event
90
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
91
+ */
92
+ notifyOut : function(dd, e, data){
93
+ if(this.overClass){
94
+ this.el.removeCls(this.overClass);
95
+ }
96
+ },
97
+
98
+ /**
99
+ * The function a {@link Ext.dd.DragSource} calls once to notify this drop target that the dragged item has
100
+ * been dropped on it. This method has no default implementation and returns false, so you must provide an
101
+ * implementation that does something to process the drop event and returns true so that the drag source's
102
+ * repair action does not run.
103
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop target
104
+ * @param {Event} e The event
105
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
106
+ * @return {Boolean} False if the drop was invalid.
107
+ */
108
+ notifyDrop : function(dd, e, data){
109
+ return false;
110
+ },
111
+
112
+ destroy : function(){
113
+ this.callParent();
114
+ if(this.containerScroll){
115
+ Ext.dd.ScrollManager.unregister(this.el);
116
+ }
117
+ }
118
+ });
@@ -0,0 +1,254 @@
1
+ /**
2
+ * This class provides a container DD instance that allows dropping on multiple child target nodes.
3
+ *
4
+ * By default, this class requires that child nodes accepting drop are registered with {@link Ext.dd.Registry}.
5
+ * However a simpler way to allow a DropZone to manage any number of target elements is to configure the
6
+ * DropZone with an implementation of {@link #getTargetFromEvent} which interrogates the passed
7
+ * mouse event to see if it has taken place within an element, or class of elements. This is easily done
8
+ * by using the event's {@link Ext.EventObject#getTarget getTarget} method to identify a node based on a
9
+ * {@link Ext.DomQuery} selector.
10
+ *
11
+ * Once the DropZone has detected through calling getTargetFromEvent, that the mouse is over
12
+ * a drop target, that target is passed as the first parameter to {@link #onNodeEnter}, {@link #onNodeOver},
13
+ * {@link #onNodeOut}, {@link #onNodeDrop}. You may configure the instance of DropZone with implementations
14
+ * of these methods to provide application-specific behaviour for these events to update both
15
+ * application state, and UI state.
16
+ *
17
+ * For example to make a GridPanel a cooperating target with the example illustrated in
18
+ * {@link Ext.dd.DragZone DragZone}, the following technique might be used:
19
+ *
20
+ * myGridPanel.on('render', function() {
21
+ * myGridPanel.dropZone = new Ext.dd.DropZone(myGridPanel.getView().scroller, {
22
+ *
23
+ * // If the mouse is over a grid row, return that node. This is
24
+ * // provided as the "target" parameter in all "onNodeXXXX" node event handling functions
25
+ * getTargetFromEvent: function(e) {
26
+ * return e.getTarget(myGridPanel.getView().rowSelector);
27
+ * },
28
+ *
29
+ * // On entry into a target node, highlight that node.
30
+ * onNodeEnter : function(target, dd, e, data){
31
+ * Ext.fly(target).addCls('my-row-highlight-class');
32
+ * },
33
+ *
34
+ * // On exit from a target node, unhighlight that node.
35
+ * onNodeOut : function(target, dd, e, data){
36
+ * Ext.fly(target).removeCls('my-row-highlight-class');
37
+ * },
38
+ *
39
+ * // While over a target node, return the default drop allowed class which
40
+ * // places a "tick" icon into the drag proxy.
41
+ * onNodeOver : function(target, dd, e, data){
42
+ * return Ext.dd.DropZone.prototype.dropAllowed;
43
+ * },
44
+ *
45
+ * // On node drop we can interrogate the target to find the underlying
46
+ * // application object that is the real target of the dragged data.
47
+ * // In this case, it is a Record in the GridPanel's Store.
48
+ * // We can use the data set up by the DragZone's getDragData method to read
49
+ * // any data we decided to attach in the DragZone's getDragData method.
50
+ * onNodeDrop : function(target, dd, e, data){
51
+ * var rowIndex = myGridPanel.getView().findRowIndex(target);
52
+ * var r = myGridPanel.getStore().getAt(rowIndex);
53
+ * Ext.Msg.alert('Drop gesture', 'Dropped Record id ' + data.draggedRecord.id +
54
+ * ' on Record id ' + r.id);
55
+ * return true;
56
+ * }
57
+ * });
58
+ * }
59
+ *
60
+ * See the {@link Ext.dd.DragZone DragZone} documentation for details about building a DragZone which
61
+ * cooperates with this DropZone.
62
+ */
63
+ Ext.define('Ext.dd.DropZone', {
64
+ extend: 'Ext.dd.DropTarget',
65
+ requires: ['Ext.dd.Registry'],
66
+
67
+ /**
68
+ * Returns a custom data object associated with the DOM node that is the target of the event. By default
69
+ * this looks up the event target in the {@link Ext.dd.Registry}, although you can override this method to
70
+ * provide your own custom lookup.
71
+ * @param {Event} e The event
72
+ * @return {Object} data The custom data
73
+ */
74
+ getTargetFromEvent : function(e){
75
+ return Ext.dd.Registry.getTargetFromEvent(e);
76
+ },
77
+
78
+ /**
79
+ * Called when the DropZone determines that a {@link Ext.dd.DragSource} has entered a drop node
80
+ * that has either been registered or detected by a configured implementation of {@link #getTargetFromEvent}.
81
+ * This method has no default implementation and should be overridden to provide
82
+ * node-specific processing if necessary.
83
+ * @param {Object} nodeData The custom data associated with the drop node (this is the same value returned from
84
+ * {@link #getTargetFromEvent} for this node)
85
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
86
+ * @param {Event} e The event
87
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
88
+ */
89
+ onNodeEnter : function(n, dd, e, data){
90
+
91
+ },
92
+
93
+ /**
94
+ * Called while the DropZone determines that a {@link Ext.dd.DragSource} is over a drop node
95
+ * that has either been registered or detected by a configured implementation of {@link #getTargetFromEvent}.
96
+ * The default implementation returns this.dropNotAllowed, so it should be
97
+ * overridden to provide the proper feedback.
98
+ * @param {Object} nodeData The custom data associated with the drop node (this is the same value returned from
99
+ * {@link #getTargetFromEvent} for this node)
100
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
101
+ * @param {Event} e The event
102
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
103
+ * @return {String} status The CSS class that communicates the drop status back to the source so that the
104
+ * underlying {@link Ext.dd.StatusProxy} can be updated
105
+ */
106
+ onNodeOver : function(n, dd, e, data){
107
+ return this.dropAllowed;
108
+ },
109
+
110
+ /**
111
+ * Called when the DropZone determines that a {@link Ext.dd.DragSource} has been dragged out of
112
+ * the drop node without dropping. This method has no default implementation and should be overridden to provide
113
+ * node-specific processing if necessary.
114
+ * @param {Object} nodeData The custom data associated with the drop node (this is the same value returned from
115
+ * {@link #getTargetFromEvent} for this node)
116
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
117
+ * @param {Event} e The event
118
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
119
+ */
120
+ onNodeOut : function(n, dd, e, data){
121
+
122
+ },
123
+
124
+ /**
125
+ * Called when the DropZone determines that a {@link Ext.dd.DragSource} has been dropped onto
126
+ * the drop node. The default implementation returns false, so it should be overridden to provide the
127
+ * appropriate processing of the drop event and return true so that the drag source's repair action does not run.
128
+ * @param {Object} nodeData The custom data associated with the drop node (this is the same value returned from
129
+ * {@link #getTargetFromEvent} for this node)
130
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
131
+ * @param {Event} e The event
132
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
133
+ * @return {Boolean} True if the drop was valid, else false
134
+ */
135
+ onNodeDrop : function(n, dd, e, data){
136
+ return false;
137
+ },
138
+
139
+ /**
140
+ * Called while the DropZone determines that a {@link Ext.dd.DragSource} is being dragged over it,
141
+ * but not over any of its registered drop nodes. The default implementation returns this.dropNotAllowed, so
142
+ * it should be overridden to provide the proper feedback if necessary.
143
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
144
+ * @param {Event} e The event
145
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
146
+ * @return {String} status The CSS class that communicates the drop status back to the source so that the
147
+ * underlying {@link Ext.dd.StatusProxy} can be updated
148
+ */
149
+ onContainerOver : function(dd, e, data){
150
+ return this.dropNotAllowed;
151
+ },
152
+
153
+ /**
154
+ * Called when the DropZone determines that a {@link Ext.dd.DragSource} has been dropped on it,
155
+ * but not on any of its registered drop nodes. The default implementation returns false, so it should be
156
+ * overridden to provide the appropriate processing of the drop event if you need the drop zone itself to
157
+ * be able to accept drops. It should return true when valid so that the drag source's repair action does not run.
158
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
159
+ * @param {Event} e The event
160
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
161
+ * @return {Boolean} True if the drop was valid, else false
162
+ */
163
+ onContainerDrop : function(dd, e, data){
164
+ return false;
165
+ },
166
+
167
+ /**
168
+ * The function a {@link Ext.dd.DragSource} calls once to notify this drop zone that the source is now over
169
+ * the zone. The default implementation returns this.dropNotAllowed and expects that only registered drop
170
+ * nodes can process drag drop operations, so if you need the drop zone itself to be able to process drops
171
+ * you should override this method and provide a custom implementation.
172
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
173
+ * @param {Event} e The event
174
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
175
+ * @return {String} status The CSS class that communicates the drop status back to the source so that the
176
+ * underlying {@link Ext.dd.StatusProxy} can be updated
177
+ */
178
+ notifyEnter : function(dd, e, data){
179
+ return this.dropNotAllowed;
180
+ },
181
+
182
+ /**
183
+ * The function a {@link Ext.dd.DragSource} calls continuously while it is being dragged over the drop zone.
184
+ * This method will be called on every mouse movement while the drag source is over the drop zone.
185
+ * It will call {@link #onNodeOver} while the drag source is over a registered node, and will also automatically
186
+ * delegate to the appropriate node-specific methods as necessary when the drag source enters and exits
187
+ * registered nodes ({@link #onNodeEnter}, {@link #onNodeOut}). If the drag source is not currently over a
188
+ * registered node, it will call {@link #onContainerOver}.
189
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
190
+ * @param {Event} e The event
191
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
192
+ * @return {String} status The CSS class that communicates the drop status back to the source so that the
193
+ * underlying {@link Ext.dd.StatusProxy} can be updated
194
+ */
195
+ notifyOver : function(dd, e, data){
196
+ var n = this.getTargetFromEvent(e);
197
+ if(!n) { // not over valid drop target
198
+ if(this.lastOverNode){
199
+ this.onNodeOut(this.lastOverNode, dd, e, data);
200
+ this.lastOverNode = null;
201
+ }
202
+ return this.onContainerOver(dd, e, data);
203
+ }
204
+ if(this.lastOverNode != n){
205
+ if(this.lastOverNode){
206
+ this.onNodeOut(this.lastOverNode, dd, e, data);
207
+ }
208
+ this.onNodeEnter(n, dd, e, data);
209
+ this.lastOverNode = n;
210
+ }
211
+ return this.onNodeOver(n, dd, e, data);
212
+ },
213
+
214
+ /**
215
+ * The function a {@link Ext.dd.DragSource} calls once to notify this drop zone that the source has been dragged
216
+ * out of the zone without dropping. If the drag source is currently over a registered node, the notification
217
+ * will be delegated to {@link #onNodeOut} for node-specific handling, otherwise it will be ignored.
218
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop target
219
+ * @param {Event} e The event
220
+ * @param {Object} data An object containing arbitrary data supplied by the drag zone
221
+ */
222
+ notifyOut : function(dd, e, data){
223
+ if(this.lastOverNode){
224
+ this.onNodeOut(this.lastOverNode, dd, e, data);
225
+ this.lastOverNode = null;
226
+ }
227
+ },
228
+
229
+ /**
230
+ * The function a {@link Ext.dd.DragSource} calls once to notify this drop zone that the dragged item has
231
+ * been dropped on it. The drag zone will look up the target node based on the event passed in, and if there
232
+ * is a node registered for that event, it will delegate to {@link #onNodeDrop} for node-specific handling,
233
+ * otherwise it will call {@link #onContainerDrop}.
234
+ * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
235
+ * @param {Event} e The event
236
+ * @param {Object} data An object containing arbitrary data supplied by the drag source
237
+ * @return {Boolean} False if the drop was invalid.
238
+ */
239
+ notifyDrop : function(dd, e, data){
240
+ if(this.lastOverNode){
241
+ this.onNodeOut(this.lastOverNode, dd, e, data);
242
+ this.lastOverNode = null;
243
+ }
244
+ var n = this.getTargetFromEvent(e);
245
+ return n ?
246
+ this.onNodeDrop(n, dd, e, data) :
247
+ this.onContainerDrop(dd, e, data);
248
+ },
249
+
250
+ // private
251
+ triggerCacheRefresh : function() {
252
+ Ext.dd.DDM.refreshCache(this.groups);
253
+ }
254
+ });