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,60 @@
1
+ /**
2
+ * @private
3
+ */
4
+ Ext.define('Ext.util.Offset', {
5
+
6
+ /* Begin Definitions */
7
+
8
+ statics: {
9
+ fromObject: function(obj) {
10
+ return new this(obj.x, obj.y);
11
+ }
12
+ },
13
+
14
+ /* End Definitions */
15
+
16
+ constructor: function(x, y) {
17
+ this.x = (x != null && !isNaN(x)) ? x : 0;
18
+ this.y = (y != null && !isNaN(y)) ? y : 0;
19
+
20
+ return this;
21
+ },
22
+
23
+ copy: function() {
24
+ return new Ext.util.Offset(this.x, this.y);
25
+ },
26
+
27
+ copyFrom: function(p) {
28
+ this.x = p.x;
29
+ this.y = p.y;
30
+ },
31
+
32
+ toString: function() {
33
+ return "Offset[" + this.x + "," + this.y + "]";
34
+ },
35
+
36
+ equals: function(offset) {
37
+ //<debug>
38
+ if(!(offset instanceof this.statics())) {
39
+ Ext.Error.raise('Offset must be an instance of Ext.util.Offset');
40
+ }
41
+ //</debug>
42
+
43
+ return (this.x == offset.x && this.y == offset.y);
44
+ },
45
+
46
+ round: function(to) {
47
+ if (!isNaN(to)) {
48
+ var factor = Math.pow(10, to);
49
+ this.x = Math.round(this.x * factor) / factor;
50
+ this.y = Math.round(this.y * factor) / factor;
51
+ } else {
52
+ this.x = Math.round(this.x);
53
+ this.y = Math.round(this.y);
54
+ }
55
+ },
56
+
57
+ isZero: function() {
58
+ return this.x == 0 && this.y == 0;
59
+ }
60
+ });
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Represents a 2D point with x and y properties, useful for comparison and instantiation
3
+ * from an event:
4
+ *
5
+ * var point = Ext.util.Point.fromEvent(e);
6
+ *
7
+ */
8
+ Ext.define('Ext.util.Point', {
9
+
10
+ /* Begin Definitions */
11
+ extend: 'Ext.util.Region',
12
+
13
+ statics: {
14
+
15
+ /**
16
+ * Returns a new instance of Ext.util.Point base on the pageX / pageY values of the given event
17
+ * @static
18
+ * @param {Event} e The event
19
+ * @return {Ext.util.Point}
20
+ */
21
+ fromEvent: function(e) {
22
+ e = (e.changedTouches && e.changedTouches.length > 0) ? e.changedTouches[0] : e;
23
+ return new this(e.pageX, e.pageY);
24
+ }
25
+ },
26
+
27
+ /* End Definitions */
28
+
29
+ /**
30
+ * Creates a point from two coordinates.
31
+ * @param {Number} x X coordinate.
32
+ * @param {Number} y Y coordinate.
33
+ */
34
+ constructor: function(x, y) {
35
+ this.callParent([y, x, y, x]);
36
+ },
37
+
38
+ /**
39
+ * Returns a human-eye-friendly string that represents this point,
40
+ * useful for debugging
41
+ * @return {String}
42
+ */
43
+ toString: function() {
44
+ return "Point[" + this.x + "," + this.y + "]";
45
+ },
46
+
47
+ /**
48
+ * Compare this point and another point
49
+ * @param {Ext.util.Point/Object} The point to compare with, either an instance
50
+ * of Ext.util.Point or an object with left and top properties
51
+ * @return {Boolean} Returns whether they are equivalent
52
+ */
53
+ equals: function(p) {
54
+ return (this.x == p.x && this.y == p.y);
55
+ },
56
+
57
+ /**
58
+ * Whether the given point is not away from this point within the given threshold amount.
59
+ * @param {Ext.util.Point/Object} p The point to check with, either an instance
60
+ * of Ext.util.Point or an object with left and top properties
61
+ * @param {Object/Number} threshold Can be either an object with x and y properties or a number
62
+ * @return {Boolean}
63
+ */
64
+ isWithin: function(p, threshold) {
65
+ if (!Ext.isObject(threshold)) {
66
+ threshold = {
67
+ x: threshold,
68
+ y: threshold
69
+ };
70
+ }
71
+
72
+ return (this.x <= p.x + threshold.x && this.x >= p.x - threshold.x &&
73
+ this.y <= p.y + threshold.y && this.y >= p.y - threshold.y);
74
+ },
75
+
76
+ /**
77
+ * Compare this point with another point when the x and y values of both points are rounded. E.g:
78
+ * [100.3,199.8] will equals to [100, 200]
79
+ * @param {Ext.util.Point/Object} p The point to compare with, either an instance
80
+ * of Ext.util.Point or an object with x and y properties
81
+ * @return {Boolean}
82
+ */
83
+ roundedEquals: function(p) {
84
+ return (Math.round(this.x) == Math.round(p.x) && Math.round(this.y) == Math.round(p.y));
85
+ }
86
+ }, function() {
87
+ /**
88
+ * @method
89
+ * Alias for {@link #translateBy}
90
+ * @inheritdoc Ext.util.Region#translateBy
91
+ */
92
+ this.prototype.translate = Ext.util.Region.prototype.translateBy;
93
+ });
@@ -0,0 +1,205 @@
1
+ /*
2
+ * The dirty implementation in this class is quite naive. The reasoning for this is that the dirty state
3
+ * will only be used in very specific circumstances, specifically, after the render process has begun but
4
+ * the component is not yet rendered to the DOM. As such, we want it to perform as quickly as possible
5
+ * so it's not as fully featured as you may expect.
6
+ */
7
+
8
+ /**
9
+ * Manages certain element-like data prior to rendering. These values are passed
10
+ * on to the render process. This is currently used to manage the "class" and "style" attributes
11
+ * of a component's primary el as well as the bodyEl of panels. This allows things like
12
+ * addBodyCls in Panel to share logic with addCls in AbstractComponent.
13
+ * @private
14
+ */
15
+ Ext.define('Ext.util.ProtoElement', (function () {
16
+ var splitWords = Ext.String.splitWords,
17
+ toMap = Ext.Array.toMap;
18
+
19
+ return {
20
+
21
+ isProtoEl: true,
22
+
23
+ /**
24
+ * The property name for the className on the data object passed to {@link #writeTo}.
25
+ */
26
+ clsProp: 'cls',
27
+
28
+ /**
29
+ * The property name for the style on the data object passed to {@link #writeTo}.
30
+ */
31
+ styleProp: 'style',
32
+
33
+ /**
34
+ * The property name for the removed classes on the data object passed to {@link #writeTo}.
35
+ */
36
+ removedProp: 'removed',
37
+
38
+ /**
39
+ * True if the style must be converted to text during {@link #writeTo}. When used to
40
+ * populate tpl data, this will be true. When used to populate {@link Ext.DomHelper}
41
+ * specs, this will be false (the default).
42
+ */
43
+ styleIsText: false,
44
+
45
+ constructor: function (config) {
46
+ var me = this;
47
+
48
+ Ext.apply(me, config);
49
+
50
+ me.classList = splitWords(me.cls);
51
+ me.classMap = toMap(me.classList);
52
+ delete me.cls;
53
+
54
+ if (Ext.isFunction(me.style)) {
55
+ me.styleFn = me.style;
56
+ delete me.style;
57
+ } else if (typeof me.style == 'string') {
58
+ me.style = Ext.Element.parseStyles(me.style);
59
+ } else if (me.style) {
60
+ me.style = Ext.apply({}, me.style); // don't edit the given object
61
+ }
62
+ },
63
+
64
+ /**
65
+ * Indicates that the current state of the object has been flushed to the DOM, so we need
66
+ * to track any subsequent changes
67
+ */
68
+ flush: function(){
69
+ this.flushClassList = [];
70
+ this.removedClasses = {};
71
+ // clear the style, it will be recreated if we add anything new
72
+ delete this.style;
73
+ },
74
+
75
+ /**
76
+ * Adds class to the element.
77
+ * @param {String} cls One or more classnames separated with spaces.
78
+ * @return {Ext.util.ProtoElement} this
79
+ */
80
+ addCls: function (cls) {
81
+ var me = this,
82
+ add = splitWords(cls),
83
+ length = add.length,
84
+ list = me.classList,
85
+ map = me.classMap,
86
+ flushList = me.flushClassList,
87
+ i = 0,
88
+ c;
89
+
90
+ for (; i < length; ++i) {
91
+ c = add[i];
92
+ if (!map[c]) {
93
+ map[c] = true;
94
+ list.push(c);
95
+ if (flushList) {
96
+ flushList.push(c);
97
+ delete me.removedClasses[c];
98
+ }
99
+ }
100
+ }
101
+
102
+ return me;
103
+ },
104
+
105
+ /**
106
+ * True if the element has given class.
107
+ * @param {String} cls
108
+ * @return {Boolean}
109
+ */
110
+ hasCls: function (cls) {
111
+ return cls in this.classMap;
112
+ },
113
+
114
+ /**
115
+ * Removes class from the element.
116
+ * @param {String} cls One or more classnames separated with spaces.
117
+ * @return {Ext.util.ProtoElement} this
118
+ */
119
+ removeCls: function (cls) {
120
+ var me = this,
121
+ list = me.classList,
122
+ newList = (me.classList = []),
123
+ remove = toMap(splitWords(cls)),
124
+ length = list.length,
125
+ map = me.classMap,
126
+ removedClasses = me.removedClasses,
127
+ i, c;
128
+
129
+ for (i = 0; i < length; ++i) {
130
+ c = list[i];
131
+ if (remove[c]) {
132
+ if (removedClasses) {
133
+ if (map[c]) {
134
+ removedClasses[c] = true;
135
+ Ext.Array.remove(me.flushClassList, c);
136
+ }
137
+ }
138
+ delete map[c];
139
+ } else {
140
+ newList.push(c);
141
+ }
142
+ }
143
+
144
+ return me;
145
+ },
146
+
147
+ /**
148
+ * Adds styles to the element.
149
+ * @param {String/Object} prop The style property to be set, or an object of multiple styles.
150
+ * @param {String} [value] The value to apply to the given property.
151
+ * @return {Ext.util.ProtoElement} this
152
+ */
153
+ setStyle: function (prop, value) {
154
+ var me = this,
155
+ style = me.style || (me.style = {});
156
+
157
+ if (typeof prop == 'string') {
158
+ if (arguments.length === 1) {
159
+ me.setStyle(Ext.Element.parseStyles(prop));
160
+ } else {
161
+ style[prop] = value;
162
+ }
163
+ } else {
164
+ Ext.apply(style, prop);
165
+ }
166
+
167
+ return me;
168
+ },
169
+
170
+ /**
171
+ * Writes style and class properties to given object.
172
+ * Styles will be written to {@link #styleProp} and class names to {@link #clsProp}.
173
+ * @param {Object} to
174
+ * @return {Object} to
175
+ */
176
+ writeTo: function (to) {
177
+ var me = this,
178
+ classList = me.flushClassList || me.classList,
179
+ removedClasses = me.removedClasses,
180
+ style;
181
+
182
+ if (me.styleFn) {
183
+ style = Ext.apply({}, me.styleFn());
184
+ Ext.apply(style, me.style);
185
+ } else {
186
+ style = me.style;
187
+ }
188
+
189
+ to[me.clsProp] = classList.join(' ');
190
+
191
+ if (style) {
192
+ to[me.styleProp] = me.styleIsText ? Ext.DomHelper.generateStyles(style) : style;
193
+ }
194
+
195
+ if (removedClasses) {
196
+ removedClasses = Ext.Object.getKeys(removedClasses);
197
+ if (removedClasses.length) {
198
+ to[me.removedProp] = removedClasses.join(' ');
199
+ }
200
+ }
201
+
202
+ return to;
203
+ }
204
+ };
205
+ }()));
@@ -0,0 +1,76 @@
1
+ /**
2
+ * An internal Queue class.
3
+ * @private
4
+ */
5
+ Ext.define('Ext.util.Queue', {
6
+
7
+ constructor: function() {
8
+ this.clear();
9
+ },
10
+
11
+ add : function(obj) {
12
+ var me = this,
13
+ key = me.getKey(obj);
14
+
15
+ if (!me.map[key]) {
16
+ ++me.length;
17
+ me.items.push(obj);
18
+ me.map[key] = obj;
19
+ }
20
+
21
+ return obj;
22
+ },
23
+
24
+ /**
25
+ * Removes all items from the collection.
26
+ */
27
+ clear : function(){
28
+ var me = this,
29
+ items = me.items;
30
+
31
+ me.items = [];
32
+ me.map = {};
33
+ me.length = 0;
34
+
35
+ return items;
36
+ },
37
+
38
+ contains: function (obj) {
39
+ var key = this.getKey(obj);
40
+
41
+ return this.map.hasOwnProperty(key);
42
+ },
43
+
44
+ /**
45
+ * Returns the number of items in the collection.
46
+ * @return {Number} the number of items in the collection.
47
+ */
48
+ getCount : function(){
49
+ return this.length;
50
+ },
51
+
52
+ getKey : function(obj){
53
+ return obj.id;
54
+ },
55
+
56
+ /**
57
+ * Remove an item from the collection.
58
+ * @param {Object} obj The item to remove.
59
+ * @return {Object} The item removed or false if no item was removed.
60
+ */
61
+ remove : function(obj){
62
+ var me = this,
63
+ key = me.getKey(obj),
64
+ items = me.items,
65
+ index;
66
+
67
+ if (me.map[key]) {
68
+ index = Ext.Array.indexOf(items, obj);
69
+ Ext.Array.erase(items, index, 1);
70
+ delete me.map[key];
71
+ --me.length;
72
+ }
73
+
74
+ return obj;
75
+ }
76
+ });
@@ -0,0 +1,388 @@
1
+ /**
2
+ * This class represents a rectangular region in X,Y space, and performs geometric
3
+ * transformations or tests upon the region.
4
+ *
5
+ * This class may be used to compare the document regions occupied by elements.
6
+ */
7
+ Ext.define('Ext.util.Region', {
8
+
9
+ /* Begin Definitions */
10
+
11
+ requires: ['Ext.util.Offset'],
12
+
13
+ statics: {
14
+ /**
15
+ * @static
16
+ * Retrieves an Ext.util.Region for a particular element.
17
+ * @param {String/HTMLElement/Ext.Element} el An element ID, htmlElement or Ext.Element representing an element in the document.
18
+ * @returns {Ext.util.Region} region
19
+ */
20
+ getRegion: function(el) {
21
+ return Ext.fly(el).getPageBox(true);
22
+ },
23
+
24
+ /**
25
+ * @static
26
+ * Creates a Region from a "box" Object which contains four numeric properties `top`, `right`, `bottom` and `left`.
27
+ * @param {Object} o An object with `top`, `right`, `bottom` and `left` properties.
28
+ * @return {Ext.util.Region} region The Region constructed based on the passed object
29
+ */
30
+ from: function(o) {
31
+ return new this(o.top, o.right, o.bottom, o.left);
32
+ }
33
+ },
34
+
35
+ /* End Definitions */
36
+
37
+ /**
38
+ * Creates a region from the bounding sides.
39
+ * @param {Number} top Top The topmost pixel of the Region.
40
+ * @param {Number} right Right The rightmost pixel of the Region.
41
+ * @param {Number} bottom Bottom The bottom pixel of the Region.
42
+ * @param {Number} left Left The leftmost pixel of the Region.
43
+ */
44
+ constructor : function(t, r, b, l) {
45
+ var me = this;
46
+ me.y = me.top = me[1] = t;
47
+ me.right = r;
48
+ me.bottom = b;
49
+ me.x = me.left = me[0] = l;
50
+ },
51
+
52
+ /**
53
+ * Checks if this region completely contains the region that is passed in.
54
+ * @param {Ext.util.Region} region
55
+ * @return {Boolean}
56
+ */
57
+ contains : function(region) {
58
+ var me = this;
59
+ return (region.x >= me.x &&
60
+ region.right <= me.right &&
61
+ region.y >= me.y &&
62
+ region.bottom <= me.bottom);
63
+
64
+ },
65
+
66
+ /**
67
+ * Checks if this region intersects the region passed in.
68
+ * @param {Ext.util.Region} region
69
+ * @return {Ext.util.Region/Boolean} Returns the intersected region or false if there is no intersection.
70
+ */
71
+ intersect : function(region) {
72
+ var me = this,
73
+ t = Math.max(me.y, region.y),
74
+ r = Math.min(me.right, region.right),
75
+ b = Math.min(me.bottom, region.bottom),
76
+ l = Math.max(me.x, region.x);
77
+
78
+ if (b > t && r > l) {
79
+ return new this.self(t, r, b, l);
80
+ }
81
+ else {
82
+ return false;
83
+ }
84
+ },
85
+
86
+ /**
87
+ * Returns the smallest region that contains the current AND targetRegion.
88
+ * @param {Ext.util.Region} region
89
+ * @return {Ext.util.Region} a new region
90
+ */
91
+ union : function(region) {
92
+ var me = this,
93
+ t = Math.min(me.y, region.y),
94
+ r = Math.max(me.right, region.right),
95
+ b = Math.max(me.bottom, region.bottom),
96
+ l = Math.min(me.x, region.x);
97
+
98
+ return new this.self(t, r, b, l);
99
+ },
100
+
101
+ /**
102
+ * Modifies the current region to be constrained to the targetRegion.
103
+ * @param {Ext.util.Region} targetRegion
104
+ * @return {Ext.util.Region} this
105
+ */
106
+ constrainTo : function(r) {
107
+ var me = this,
108
+ constrain = Ext.Number.constrain;
109
+ me.top = me.y = constrain(me.top, r.y, r.bottom);
110
+ me.bottom = constrain(me.bottom, r.y, r.bottom);
111
+ me.left = me.x = constrain(me.left, r.x, r.right);
112
+ me.right = constrain(me.right, r.x, r.right);
113
+ return me;
114
+ },
115
+
116
+ /**
117
+ * Modifies the current region to be adjusted by offsets.
118
+ * @param {Number} top top offset
119
+ * @param {Number} right right offset
120
+ * @param {Number} bottom bottom offset
121
+ * @param {Number} left left offset
122
+ * @return {Ext.util.Region} this
123
+ */
124
+ adjust : function(t, r, b, l) {
125
+ var me = this;
126
+ me.top = me.y += t;
127
+ me.left = me.x += l;
128
+ me.right += r;
129
+ me.bottom += b;
130
+ return me;
131
+ },
132
+
133
+ /**
134
+ * Get the offset amount of a point outside the region
135
+ * @param {String} [axis]
136
+ * @param {Ext.util.Point} [p] the point
137
+ * @return {Ext.util.Offset}
138
+ */
139
+ getOutOfBoundOffset: function(axis, p) {
140
+ if (!Ext.isObject(axis)) {
141
+ if (axis == 'x') {
142
+ return this.getOutOfBoundOffsetX(p);
143
+ } else {
144
+ return this.getOutOfBoundOffsetY(p);
145
+ }
146
+ } else {
147
+ p = axis;
148
+ var d = new Ext.util.Offset();
149
+ d.x = this.getOutOfBoundOffsetX(p.x);
150
+ d.y = this.getOutOfBoundOffsetY(p.y);
151
+ return d;
152
+ }
153
+
154
+ },
155
+
156
+ /**
157
+ * Get the offset amount on the x-axis
158
+ * @param {Number} p the offset
159
+ * @return {Number}
160
+ */
161
+ getOutOfBoundOffsetX: function(p) {
162
+ if (p <= this.x) {
163
+ return this.x - p;
164
+ } else if (p >= this.right) {
165
+ return this.right - p;
166
+ }
167
+
168
+ return 0;
169
+ },
170
+
171
+ /**
172
+ * Get the offset amount on the y-axis
173
+ * @param {Number} p the offset
174
+ * @return {Number}
175
+ */
176
+ getOutOfBoundOffsetY: function(p) {
177
+ if (p <= this.y) {
178
+ return this.y - p;
179
+ } else if (p >= this.bottom) {
180
+ return this.bottom - p;
181
+ }
182
+
183
+ return 0;
184
+ },
185
+
186
+ /**
187
+ * Check whether the point / offset is out of bound
188
+ * @param {String} [axis]
189
+ * @param {Ext.util.Point/Number} [p] the point / offset
190
+ * @return {Boolean}
191
+ */
192
+ isOutOfBound: function(axis, p) {
193
+ if (!Ext.isObject(axis)) {
194
+ if (axis == 'x') {
195
+ return this.isOutOfBoundX(p);
196
+ } else {
197
+ return this.isOutOfBoundY(p);
198
+ }
199
+ } else {
200
+ p = axis;
201
+ return (this.isOutOfBoundX(p.x) || this.isOutOfBoundY(p.y));
202
+ }
203
+ },
204
+
205
+ /**
206
+ * Check whether the offset is out of bound in the x-axis
207
+ * @param {Number} p the offset
208
+ * @return {Boolean}
209
+ */
210
+ isOutOfBoundX: function(p) {
211
+ return (p < this.x || p > this.right);
212
+ },
213
+
214
+ /**
215
+ * Check whether the offset is out of bound in the y-axis
216
+ * @param {Number} p the offset
217
+ * @return {Boolean}
218
+ */
219
+ isOutOfBoundY: function(p) {
220
+ return (p < this.y || p > this.bottom);
221
+ },
222
+
223
+ /**
224
+ * Restrict a point within the region by a certain factor.
225
+ * @param {String} [axis]
226
+ * @param {Ext.util.Point/Ext.util.Offset/Object} [p]
227
+ * @param {Number} [factor]
228
+ * @return {Ext.util.Point/Ext.util.Offset/Object/Number}
229
+ * @private
230
+ */
231
+ restrict: function(axis, p, factor) {
232
+ if (Ext.isObject(axis)) {
233
+ var newP;
234
+
235
+ factor = p;
236
+ p = axis;
237
+
238
+ if (p.copy) {
239
+ newP = p.copy();
240
+ }
241
+ else {
242
+ newP = {
243
+ x: p.x,
244
+ y: p.y
245
+ };
246
+ }
247
+
248
+ newP.x = this.restrictX(p.x, factor);
249
+ newP.y = this.restrictY(p.y, factor);
250
+ return newP;
251
+ } else {
252
+ if (axis == 'x') {
253
+ return this.restrictX(p, factor);
254
+ } else {
255
+ return this.restrictY(p, factor);
256
+ }
257
+ }
258
+ },
259
+
260
+ /**
261
+ * Restrict an offset within the region by a certain factor, on the x-axis
262
+ * @param {Number} p
263
+ * @param {Number} [factor=1] The factor.
264
+ * @return {Number}
265
+ * @private
266
+ */
267
+ restrictX : function(p, factor) {
268
+ if (!factor) {
269
+ factor = 1;
270
+ }
271
+
272
+ if (p <= this.x) {
273
+ p -= (p - this.x) * factor;
274
+ }
275
+ else if (p >= this.right) {
276
+ p -= (p - this.right) * factor;
277
+ }
278
+ return p;
279
+ },
280
+
281
+ /**
282
+ * Restrict an offset within the region by a certain factor, on the y-axis
283
+ * @param {Number} p
284
+ * @param {Number} [factor] The factor, defaults to 1
285
+ * @return {Number}
286
+ * @private
287
+ */
288
+ restrictY : function(p, factor) {
289
+ if (!factor) {
290
+ factor = 1;
291
+ }
292
+
293
+ if (p <= this.y) {
294
+ p -= (p - this.y) * factor;
295
+ }
296
+ else if (p >= this.bottom) {
297
+ p -= (p - this.bottom) * factor;
298
+ }
299
+ return p;
300
+ },
301
+
302
+ /**
303
+ * Get the width / height of this region
304
+ * @return {Object} an object with width and height properties
305
+ * @private
306
+ */
307
+ getSize: function() {
308
+ return {
309
+ width: this.right - this.x,
310
+ height: this.bottom - this.y
311
+ };
312
+ },
313
+
314
+ /**
315
+ * Create a copy of this Region.
316
+ * @return {Ext.util.Region}
317
+ */
318
+ copy: function() {
319
+ return new this.self(this.y, this.right, this.bottom, this.x);
320
+ },
321
+
322
+ /**
323
+ * Copy the values of another Region to this Region
324
+ * @param {Ext.util.Region} p The region to copy from.
325
+ * @return {Ext.util.Region} This Region
326
+ */
327
+ copyFrom: function(p) {
328
+ var me = this;
329
+ me.top = me.y = me[1] = p.y;
330
+ me.right = p.right;
331
+ me.bottom = p.bottom;
332
+ me.left = me.x = me[0] = p.x;
333
+
334
+ return this;
335
+ },
336
+
337
+ /*
338
+ * Dump this to an eye-friendly string, great for debugging
339
+ * @return {String}
340
+ */
341
+ toString: function() {
342
+ return "Region[" + this.top + "," + this.right + "," + this.bottom + "," + this.left + "]";
343
+ },
344
+
345
+ /**
346
+ * Translate this region by the given offset amount
347
+ * @param {Ext.util.Offset/Object} x Object containing the `x` and `y` properties.
348
+ * Or the x value is using the two argument form.
349
+ * @param {Number} y The y value unless using an Offset object.
350
+ * @return {Ext.util.Region} this This Region
351
+ */
352
+ translateBy: function(x, y) {
353
+ if (arguments.length == 1) {
354
+ y = x.y;
355
+ x = x.x;
356
+ }
357
+ var me = this;
358
+ me.top = me.y += y;
359
+ me.right += x;
360
+ me.bottom += y;
361
+ me.left = me.x += x;
362
+
363
+ return me;
364
+ },
365
+
366
+ /**
367
+ * Round all the properties of this region
368
+ * @return {Ext.util.Region} this This Region
369
+ */
370
+ round: function() {
371
+ var me = this;
372
+ me.top = me.y = Math.round(me.y);
373
+ me.right = Math.round(me.right);
374
+ me.bottom = Math.round(me.bottom);
375
+ me.left = me.x = Math.round(me.x);
376
+
377
+ return me;
378
+ },
379
+
380
+ /**
381
+ * Check whether this region is equivalent to the given region
382
+ * @param {Ext.util.Region} region The region to compare with
383
+ * @return {Boolean}
384
+ */
385
+ equals: function(region) {
386
+ return (this.top == region.top && this.right == region.right && this.bottom == region.bottom && this.left == region.left);
387
+ }
388
+ });